首页 > 编程知识 正文

汇编语言ax和al的计算区别(汇编语言es)

时间:2023-05-03 05:29:35 阅读:73965 作者:3939

全部展开

鳗鱼篮球:获得ax、dx结果后,立即添加“3231313353236313431303231363533 e 58685 e 5a EB 9313361326361 int 3”的中断命令,并在调试程序中进行编程

计算程序暂停时的ax、dx寄存器的值。

方法2 )制作显示16位二进制数的显示子程序,分别调用显示ax、dx即可。

方法3 :如果dx是32位的前16位,ax是32位的后16位,则必须创建32位的二进制数

只需显示子程序并调用该显示。

后者的实现方法如下所示。

; * * * * * * * * * * * * * * * * * *

DISPDXAXPROCNEAR

PUSHAX

PUSHBX

PUSHCX

PUSHDX

推送si

PUSHDI

PUSHBP

推送

推送

PUSHF

;===============

pushcs

popds

pushcs

popes

MOVWORDPTR[Y],AX

MOVWORDPTR[Y 2],DX

; 以下,将y (十六进制)转换为十进制串并输出

MOVAX,WORDPTR[Y]

MOVDX,WORDPTR[Y 2]

MOVBX,WORDPTR[Z]

MOVCX,WORDPTR[Z 2]

MOVWORDPTRN,0

MM0:INCWORDPTRN

SUBAX,BX

SBBDX,CX

JNCMM0

DECWORDPTRN

ADDAX,BX

ADCDX,CX

MOVWORDPTR[Y],AX

MOVWORDPTR[Y 2],DX

;===============

mm1:导线I,CC

ADDDI,9

M2:

MOVAX,WORDPTR[Y]

MOVDX,WORDPTR[Y 2]

MOVBX,10000

DIVBX

PUSHAX

PUSHDX

;==============

; 以下,变换十进制低位4比特

POPDX

MOVCX,4

MOVAX,DX

M3:MOVDX,0

MOVBX,10

DIVBX

ADDDL,30H

MOV[DI],DL

DECDI

LOOPM3

;===============

; 以下是转换十进制的高万位

POPAX

MOVCX,1

M4:MOVDX,0

MOVBX,10

DIVBX

ADDDL,30H

MOV[DI],DL

DECDI

LOOPM4

;==============

MOVAX,WORDPTRN

MOVCX,5

M5:MOVDX,0

MOVBX,10

DIVBX

ADDDL,30H

MOV[DI],DL

DECDI

LOOPM5

;==============

; 输出换行返回

LEADX,LFCR

MOVAH,9

INT21H

;==============

; 输出2数之和的十进制串

引线x,抄送

MOVAH,9

INT21H

;==============

POPF

popes

popds

POPBP

POPDI

POPSI

POPDX

POPCX

POPBX

POPAX

RET

; -----------------

YDD?

CCDB10DUP ',10,13,' $ '

LFC RDB 10,13,' $ '

ZDD100000

NDW0

DISPDXAXENDP

; * * * * * * * * * * * * * * * * * *

; 将要显示的无符号数放入ax

DISPAXPROCNEAR

PUSHAX

PUSHBX

PUSHCX

PUSHDX

推送si

PUSHDI

PUSHBP

推送

推送

PUSHF

;================

PUSHCS

POPDS

pushcs

popes

MOVBYTEPTRNZ,0

PUSHAX

LEASI,DIVARR

MOVCX,5

@1:

POPAX

MOVDX,0

MOVBX,[SI]

DIVBX

PUSHDX

CMPAL,0

JNE@2

CMPBYTEPTRNZ,1

JE@2

CMPCX,1

JE@2

MOVDL,20H

JMP@3

@2:

ADDAL,30H

MOVDL,AL

MOVBYTEPTRNZ,1

@3:

MOVAH,2

INT21H

INCSI

INCSI

LOOP@1

POPDX

;==============

MOVDL,32

MOVAH,2

INT21H

POPF

popes

popds

POPBP

POPDI

POPSI

POPDX

POPCX

POPBX

POPAX

RET

divarrdw10000、1000、100、10、1

NZDB0

DISPAXENDP

; * * * * * * * * * * * * * * * * *

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。