導航:首頁 > 數據處理 > 匯編程序數據段字元串怎麼寫

匯編程序數據段字元串怎麼寫

發布時間:2023-01-12 20:37:19

『壹』 編寫一個完整的匯編語言程序,要求在屏幕上顯示出字元串「Hello,Assembly language」。

datasegment

msgdb'Hello,Assemblylanguage','$'

dataends

codesegment

assumeds:data,cs:code

mainprocfar

movax,data

movds,ax

leadx,msg

movah,9

int21h

movax,4c00h

int21h

mainendp

codeends

endmain

(1)匯編程序數據段字元串怎麼寫擴展閱讀

匯編程序在屏幕上顯示一個字元串「Hello」

datasegment

stringdb'Hello',13,10,'$';字元串以』$』符號結尾,以單引號括起來

dataends

codesegment

assumecs:code,ds:data

start:;程序的入口地址

pushds;saveolddatasegment

subax,ax;ax寄存器清零,作為數據段0偏移地址

pushax;零偏移地址入棧

movax,data

movds,ax;把數據段地址裝入數據段寄存器ds

leadx,string;把字元串首地址裝入dx寄存器,或寫成movdx,offsetstring

movah,9;DOS功能調用,在屏幕上顯示字元串

int21h;DOS中斷

movah,4ch;returntoDOS

int21h

codeends

endstart;匯編的結束,程序在此執行

『貳』 用匯編語言編寫字元串查找的程序,怎樣編急用!謝謝啦!

該數據段數據段開始
S1 DB 0DH,0AH的字元串:$',S1,S2,S3字元串
S2 DB 0DH,0AH的CH:$ S3 DB 0DH
BR />,0AH,'string2:搜索$「
輸入DB 50輸入:輸入字元串的長度不超過50
IN_R DB 0.50 DUP(0),第一個位元組的存儲長度的實際輸入
存儲輸入字元串後面的代碼(ASCII)
輸出DB 50 DUP('$')刪除字元串
db'HHHHHHHHH'
數據結束塊段代碼段結束的開始
ASSUME CS:CODE,DS:數據
START:MOV AX,DATA的
MOV DS,AX DS點的數據段
PUSH DS
POP ES DS,ES推
MOV DX,OFFSET(偏移)的S1
MOV AH,09
INT 21H輸出S1的字元串,系統會提示用戶輸入字元串 MOV DX抵消輸入
MOV AH,0AH
INT 21H輸入字元串的格式保存到輸入緩沖區,看到上面
MOV DX,OFFSET S2
MOV AH,09
INT 21H輸出S2字元串,提示用戶輸入要刪除字元
IN_R MOV CL,CL店的實際輸入字元串的長度
MOV CH,CH = 0 MOV BX,的偏移IN_R的+1 BX點實際的字元串
MOV DI,OFFSET輸入輸出DI指向輸出字元串
MOV AH,01 INT 21H
輸入的字元你要刪除,存放在AL
LOOP1:
MOV AH,[BX]

CMP AH,AL比較字元串的字元是否要刪除字元相同
JE NO_COPY相同,執行刪除
MOV [DI],AH不同的復制到輸出字元串的字元
INC DI指針DI加
NO_COPY的:
INC BX的字元發送到輸出字元串
LOOP LOOP1循環,知道到底
MOV DX,OFFSET S3
MOV AH,09
INT 21H的輸出串S3 BR /> MOV DX,抵消了輸出
MOV AH,09

輸出刪除字元串INT 21H MOV AH,4CH
INT 21H返回到DOS
CODE結束數據段的結束
END START

『叄』 編寫匯編語言程序,要有完整的格式(要有必要的數據段和代碼段)

DATA SEGMENT
STR1 DB 'This is a program',0DH,0AH
STR2 DB 'Disk operation ','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AH,9
LEA DX,STR1
INT 21H
MOV AH,2
MOV DL,0DH
INT 21H
MOV AH,2
MOV DL,0AH
INT 21H
MOV AH,9
LEA DX,STR2
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START

『肆』 匯編語言怎麼實現一個字元串的輸入與輸出

匯編語言實現一個字元串的輸入與輸出,可以調用DOS功能中斷完成。
示常式序如下:
;匯編語言輸入一串字元串,可以調用DOS功能中斷INT 21H的06H功能。
;程序功能:輸入一串字元,以回車符結束,輸入字元串最大長度200字元;
; 輸入結束在下一行輸出此字元串。
data segment
str db 201 p (0dh)
data ends

code segment
assume cs:code,ds:data
main proc far
start:
mov ax,data
mov ds,ax
lea si,str
mov cx,200
inpstr: mov ah,06h
int 21h
jnz inpstr;無字元可讀
mov [si],a1
inc si
xor al,0dh
jz endinp
loop inpstr

endinp: mov al,0dh
mov [si],a1

mov dl,0ah;回車換行
mov ah,02h
int 21h
mov dl,0dh
mov ah,02h
int 21h

lea si,str;輸出字元串
output: mov dl,[si]
cmp dl,0dh
jz endout;已到字元串尾
mov ah,02h
int 21h
inc si
jmp output

endout: mov ah,4ch
int 21h
ret
main endp
code ends
end start

『伍』 求匯編程序編寫輸入一個字元串,再輸出

DATAS SEGMENT
STR DB 'please input a string:$'
BUF DB 20
DB ?
DB 20 DUP (?)
CRLF DB 0AH,0DH,"$"
;此處輸入數據段代碼
DATAS ENDS

STACKS SEGMENT STACK
DB 200 DUP(?) ;此處輸入堆棧段代碼
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START: MOV AX,DATAS
MOV DS,AX

LEA DX,STR
MOV AH,9
INT 21H

MOV AH,10
LEA DX,BUF
INT 21H

LEA DX,CRLF
MOV AH,9
INT 21H

mov bl,BUF+1 ;輸出這里開始
mov bh,0 ;
lea si,BUF+2 ;首地址
mov byte ptr[si+bx],'$';結尾得加上 '$'
mov DX,si ;
MOV AH,9 ;
INT 21H ;結束

MOV AH,4CH
INT 21H
CODES ENDS
END START

『陸』 匯編程序,string

這里還統計了數字字元個數和字母字元個數,並分別存儲於shuzi和zimu這兩個位元組存儲單元中。
希望能幫到你。

寫一段子程序SKIPLINES,完成輸出空行的功能.空行的行數在AX寄存器中.
[解]:
SKIPLINES PROC NEAR
PUSH CX
PUSH DX
MOV CX,AX
NEXT: MOV AH,2
MOV DL,0AH
INT 21H
MOV AH,2
MOV DL,0DH
INT 21H
LOOP NEXT
POP DX
POP CX
RET
SKIPLINES ENDP

『柒』 8086匯編語言 數據串操作指令

1、將數據段中定義的字元串「HELLO!」傳送到附加段中。

data segment
string1 db 'HELLO!'
ChrCoun equ $-string
data ends

extra segment
string2 db ChrCoun p(?)
extra ends

code segment
assume cs:code,ds:data,es:extra
start:mov ax,data
mov ds,ax
mov ax,extra
mov es,ax
lea si,string1
lea di,string2
mov cx,ChrCoun
cld
rep movsb
mov ah,4ch
int 21h
code ends
end start

2、使用LODSB指令將字元串中的『HELLO!』中的第1個字元和第3個字元分別存入bl和bh中
data segment
string db 'HELLO!'
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
lea si,string
cld
lodsb
mov bl,al
lodsb
lodsb
mov bh,al
mov ah,4ch
int 21h
code ends
end start

3、在ES段存放10個ASCII碼,搜索『E』,若找到則記下搜索次數及存放地址,並將AH置1,否則AH清零。
extra segment
string db 『ab12345Ecd』
extra ends

code segment
assume cs:code,ds:data,es:extra
start:mov ax,extra
mov es,ax
lea di,string
mov cx,10
cld
repnz scasb
jcxz not_E
mov cx,di
sub cx,offset string ;搜索次數
dec di ;存放地址
not_E:
xor ah,ah
Exit:
mov ah,4ch
int 21h
code ends
end start

『捌』 怎麼用匯編語言編寫一個程序,統計字元串的長度並輸出

DATA SEGMENT
MSG1 DB 'LENGTH:','$'
SHEX DB '0123456789ABCDEF$'
MAXLEN EQU 200H
DATA ENDS

CODE SEGMENT ;代碼段定義
assume CS:CODE,DS:DATA
START:
mov ax,DATA
mov ds,ax

;初始化需要的寄存器
mov ax,0
mov bl,24H
mov di, offset MSG1

;循環比較字元串中的每個字元,並把統計值放在AX中
MYLOOP:
cmp byte ptr[di], bl
jz EXIT
inc di
inc ax
jmp MYLOOP
EXIT:
push ax
;顯示提示內容
mov dx,offset MSG1
mov ah,9h
int 21h

pop ax
call printlen

mov ah,4ch
int 21h

;列印出長度,長度保存在AX里
printlen proc near
mov cx,4
PRINTLOOP:
rol ax,1
rol ax,1
rol ax,1
rol ax,1
push ax
mov dl,al
and dl,0FH
mov bx, offset SHEX
add bl,dl
mov dl, byte ptr [bx]
mov ah,2
int 21h
pop ax
loop PRINTLOOP
ret
printlen endp

CODE ENDS

END START

閱讀全文

與匯編程序數據段字元串怎麼寫相關的資料

熱點內容
為什麼大飛機技術不好 瀏覽:435
交易員考什麼課程 瀏覽:866
aac上架多少交易所 瀏覽:473
哪裡有馬崗鵝批發市場 瀏覽:722
撤案需要什麼程序 瀏覽:499
會澤縣小學信息技術多少分進面 瀏覽:631
實現數據壓縮與什麼層密切相關 瀏覽:504
怎麼成為網點代理人 瀏覽:441
掃碼查答案的程序有什麼 瀏覽:792
個人信息泄露被判刑的有哪些 瀏覽:179
義烏狗市場狗多少一隻 瀏覽:650
如何解除移動數據限流的方法 瀏覽:174
郴州市活禽交易市場什麼時候休市 瀏覽:456
四川空間信息產業發展怎麼樣 瀏覽:284
宏基筆記本怎麼樣關閉程序 瀏覽:523
邯鄲有哪些鐵板市場 瀏覽:850
問道如何查詢賬號信息 瀏覽:324
工商銀行交易4204是什麼意思 瀏覽:454
食品產品標准號怎麼解讀 瀏覽:538
我愛我家鏈家為什麼退出北京市場 瀏覽:648