DOS彙編練習 9 判斷16位資料奇偶性

2021-10-12 22:42:40 字數 1555 閱讀 7538

例:統計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...