例:統計ax(9898h)中1的個數,若個數為偶數,則bl=1h,若個數為奇數則bl=0h。
1.統計個數:
assume cs:code
code segment
start:
mov ax,9898h
mov cx,16
prog:
rol ax,1 ;每次左移1位
test ax,1b ;最低位與1相與
jnz next ;若為1則計數+1
jmp rego
next:
inc bh
rego:
loop prog
toend:
mov ah,4ch
int 21h
code ends
end start
2.判斷奇偶性:
assume cs:code
code segment
start:
mov ax,9898h
xor ah,al ;奇偶標誌位置0(奇)
jpo fuzhi ;pf=0則跳
mov bl,01h
jmp toend
fuzhi:
mov bl,00h
toend:
mov ah,4ch
int 21h
code ends
end start
綜合:
code segment
assume cs:code
start:
mov ax,9898h
push ax
mov cx,16
xor ah,al ;奇偶標誌位置0(奇)
jpo fuzhi ;pf=0則跳
mov bl,01h
jmp load
fuzhi:
mov bl,00h
load:
pop ax
prog:
rol ax,1
test ax,1b
jnz next
jmp rego
next:
inc bh
rego:
loop prog
toend:
mov ah,4ch
int 21h
code ends
end start
若將資料改為7000h(0111 0000 0000 0000b)
則1的個數有3個,bh=3,為奇數個,bl置0,bx=30.
Dos彙編練習 5 debug指令篇
一.t p g命令的不同之處 1.t命令作用 執行匯程式設計序,單步跟蹤。2.p命令作用 執行匯程式設計序,單步跟蹤。與t命令不同的是 p命令不會跟蹤進入子程式或軟中斷。p命令的使用方式與t命令的使用方式完全相同。3.g命令作用 執行彙編指令 常用作設定斷點除錯用。g命令的使用方法是 g 起始位址 ...
反彙編練習2017 0123
看到乙個cm,拿來玩玩.是乙個keygenme,delphi寫的.逆了使用者名稱的hash演算法,後續演算法用到了delphi庫函式,暫時對不上功能,先練習到這,以後有時間再搞.用delphi寫的程式,如果不用到delphi庫函式,還是挺好還原的.include stdafx.h include i...
movsw 彙編 彙編練習題
16.下面指令執行後,總是使cf of 0的是 a.and b.neg c.not d.inc 17.為使cx 1時,執行 jz minus 轉至標號minus而編制了一指令,其中錯誤的是 a.inc cx b.sub cx,offffh c.and cx,offffh d.xor cx,offff...