llgd.net
当前位置:首页 >> 如何使用汇编语言将BX寄存器内的二进制数用十六进... >>

如何使用汇编语言将BX寄存器内的二进制数用十六进...

disp proc near ;显示16进制数(字母大写)子程序,入口:BX寄存器存有二进制待显示数 mov dl,bh mov cl,4 shr dl,cl cmp dl,10 jc hex1 add dl,30h hex1: add dl,37h mov ah,02h int 21h mov dl,bh and dl,0fh cmp dl,10 jc hex2 add dl,30h hex2...

mov ax,bx call asc16 ;............................. .exit asc16:push ax mov al,ah call asc8;显示al pop ax asc8:push ax shr al,4 call asc4;显示al低4位 pop ax asc4:and al,0fh add al,'0' cmp al,'9' jbe asc1 add al,7;变换到A-F asc1...

应该会有四个字符输出 第一个 mov al,bh 然后右移AL, 假如此数小于10,则+30变成对应的数字的ASCII码 否则应该变成对应的A~F的值, 然后取第二个数 mov al,bh and al,0fh 然后转换输出 第三是 mov al,bl ...

嘿嘿 俺来回答你 BX是个通用的寄存器. 有2种使用方式 1 可以直接用来装操作数 例如: MOV AX,BX ;即将BX中的操作数传送给累加器AX 这种方式叫寄存器寻址 2 不是装操作数 而是装操作数的地址 例如: MOV AX,[BX] ;即根据BX中的操作数的地址 找...

如有什么疑问,补充提问。 ----------------------------------------------- .model small .data table db 40H,79H,24H,30H,19H,12H,02H,78H,00H,18H ;BCD table input db 05h,07h ;输入数据,十进制57 .code .startup mov bx,offset table mov...

MOV AL, BL AND AL, 0FH OR AL, 30H MOV L4, AL MOV AL, BL SHR AL SHR AL SHR AL SHR AL OR AL, 30H MOV L3, AL MOV AL, BH AND AL, 0FH OR AL, 30H MOV L2, AL MOV AL, BH SHR AL SHR AL SHR AL SHR AL OR AL, 30H MOV L1, AL

编程语言汇编语言3、在8086/8088CPU寄存器组中,数据寄存器主要是指( AX )、( BX )、( CX )、( DX )。4、假设(DS)=3000H,(SI)=0040H,(30054H)=4336H,则指令 SUB [SI+14H],0136H 执行后,(30054H)=( 4200H )。5、结构化程...

这个方式,是在DOS 2.0之前,还没有出现4CH号功能调用之前所用的方式。 那时候,退出DOS程序,用的是 INT 20H 号中断。 但这个中断能正确执行的前提,是CS必须是程序加载时的PSP前缀的段地址。 这对.com格式的程序,没有问题。它加载后CS就是PSP...

;程序已实现,主要考虑的是怎样获取1的个数 ;具体以怎样的形式显示没有太在意 ;个数存在BL中,若想以各种形式显示,调用不同的子函数即可(现在各种进制转换的汇编代码网上一堆) code segment assume cs:code start: mov ax,1234 mov bl,0;统计1...

code segment assume cs:code start: mov ax,0ffffh ;测试用的,你可以修改为任何有效的值 mov cl,16 ;ax是一个字,有16位二进制 mov dl,0 ;用于累加ax中1的个数 a: rol ax,1 ;循环左移1称,16次循环后复原 jnc next ;该位是0,则CF=0,这里就是...

网站首页 | 网站地图
All rights reserved Powered by www.llgd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com