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...

DATA SEGMENT STR DB 'H',0AH,0DH,'$' CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX,1111110111100001B MOV CH,4 ;循环四次 LOP: MOV CL,4 ROL BX,CL ;每次循环环左移四位 MOV DX,BX AND DL,0FH ;每次取低四位,来...

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

这不是刚才我写的那道题吗? DATAS SEGMENT DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX mov si,4 mov bx,1234h s: mov cl,4 rol bx,cl mov ax...

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...

CODES SEGMENT ASSUME CS:CODES START: MOV BX,1234H MOV AX,BX MOV CX,16 LOOP2: SHR AX,1;右移一位,D0到CF RCL BX,1;左移一位,CF到D0 LOOP LOOP2;循环L00P2,直到CX==0成立 MOV AH,4CH ;带返回码结束功能 INT 21H ;返回系统 CODES ENDS END ...

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

如有什么疑问,补充提问。 ----------------------------------------------- .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...

bx寄存器中的两位十六进制数 bx寄存器中,共有四位十六进制数,想要显示那两位呢?

参考: MOV CX, 16 DECT: MOV DL, '0' ;0的ASCII码 SHL BX, 1 ;左移一位 JNC DISP ;移进CF的是0就转移 INC DL DISP: MOV AH, 2 INT 21H LOOP DECT RET

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