編寫程式段從鍵盤接收乙個字元,如輸入為y或y,在螢幕上輸出『yes』;如輸入為n或n,在螢幕上輸出『no』; 然後退出。如輸入其它字元,螢幕上輸出『please input again』,然後等待重新輸入。
datas segment ;此處輸入資料段**
string db 'input a letter: $'
string1 db 'yes $'
string2 db 'no $'
string3 db 'please input again: $'
buff db 100
db ?
db 100
dup(
'$')
datas ends
codes segment
assume cs:codes,ds:datas;
,ss:stacks
start:
mov ax,datas
mov ds,ax
;此處輸入**段**
mov dx ,offset string
mov ah,
09h int 21h
l: mov dx,offset buff
mov ah,
0ah int 21h
mov ah,
2 mov dl,
10int
21h mov ah,
2 mov dl,
13int
21h mov ah,
06h xor si,si
mov cl,buff[1]
mov dl,buff[si+2]
cmp dl,
'y' jz o1
cmp dl,
'y' jz o1
cmp dl,
'n' jz o2
cmp dl,
'n' jz o2
mov dx,offset string3
mov ah,
09h int 21h
jmp l
o1: mov dx ,offset string1
mov ah,
09h int 21h
jmp exit
o2: mov dx,offset string2
mov ah,
09h int 21h
jmp exit
exit:
mov ah,
4ch int 21h
codes ends
end start
組合語言(一)
8086暫存器都是16位的暫存器,根據用途可分為4種型別。分別是資料暫存器 位址暫存器 段暫存器和控制暫存器。如圖所示 資料暫存器中每個暫存器又可以分為2個8位的暫存器。分別為ah al,bh bl,ch cl,dh dl。h表示高位元組 高8位 暫存器 l表示低位元組 低8位 暫存器。例如 用ax...
組合語言(一)
每一種微處理器都有自己的機器指令集 組合語言 由於很長的1與0難以辨別與記憶,所以誕生組合語言操作 暫存器bx的內容送到ax中 機器指令 1000100111011000 彙編指令 mov ax,bx組合語言由彙編指令,偽指令,其他符號 後兩者都不對應機器碼 分別對應 機器碼的助記符,編譯器執行,由...
組合語言 AT T組合語言
這兩天的pwn題環境都是在linux中,採用的組合語言是 at t 格式。之前學習的是intel格式的8086彙編,今天學習了下at t組合語言。基於x86 架構的處理器所使用的彙編指令一般有兩種格式 操作intel格式at t格式 暫存器命名 push eax pushl eax 常數 立即運算元...