汇编语言将二进制转化为十六进制的功能 ,代码每一句在二进制转化为十六进制中起到什么作用?

如题所述

MAIN PROC FAR
ASSUME CS:A1
START: PUSH DS
SUB AX,AX
PUSH AX
MOV BX,0110 1101 0011 0111B ;6D37H
MOV CH,4
B1: MOV CL,4
ROL BX,CL ;将BX中的数循环左移4位,也就是把BX最高4位,放到BX的最低4位上去。
MOV AL,BL ;将低8位放入AL
AND AL,0FH ;取低4位
ADD AL,30H ;加上30H 从这里开始将4位二进制数转成16进制ASCII码,
;0--的ASCII码是30H…9是39H,A是41H,B是42H…F是46H
CMP AL,3AH ;加结果是不是少于3A
JL B2 ;是的话,表示是0-9之中数
ADD AL,7H ;否则还要加上7,变成对应的A或B、C、D、E、F
B2: MOV DL,AL ;AL是转换好的一位16进制数的ASCII码
MOV AH,2
INT 21H ;显示到屏幕
DEC CH
JNZ B1 ;因为BX中其有4位16进制数,所以要处理4次。这里是判断处理完4次没,如果没有,就继续处理下一个数
RET
MAIN ENDP
A1 ENDS
END START

这个程序的功能是将BX中的0110 1101 0011 0111B(6D37H)以16进制显示在屏幕上。
“显示在屏幕”的准确说法是:输出到系统标准控制台上。
不知道我说清楚没,希望能帮到你
温馨提示:内容为网友见解,仅供参考
无其他回答

...代码每一句在二进制转化为十六进制中起到什么作用?
ROL BX,CL ;将BX中的数循环左移4位,也就是把BX最高4位,放到BX的最低4位上去。MOV AL,BL ;将低8位放入AL AND AL,0FH ;取低4位 ADD AL,30H ;加上30H 从这里开始将4位二进制数转成16进制ASCII码,;0--的ASCII码是30H…9是39H,A是41H,B是42H…F是46H CMP AL,3A...

汇编语言 编程将二进制数转换为16进制数并显示的功能
将字符串倒置,即末字符和第1个字符交换,倒数第2个字符和第2个字符交换,依次类推。

用汇编语言怎么把二进制数怎么转换成十六进制数送给数码管显示_百度知 ...
先根据数码管的极性共阴共阳做一个表,然后二进制数,屏蔽高4位,滴位查表显示;屏蔽低四位,右移4位,在数码管显示高4位

C语言--二进制转十六进制
\/\/vc6下完美运行通过 include <stdio.h> include <math.h> include <stdlib.h> include <string.h> void convert(char *input, char *output){ int len1 = strlen(input); \/\/输入二进制数位数 int pos = len1 \/ 4 + 1; \/\/输出十六进制数的位数 if (len1 % 4 == 0){ pos = p...

将bl中的二进制数转为十六进制数的形式在屏幕上显示,要求是用汇编语言编...
JNZ CBUF10 ;不为0转CBUF10 CHANGE11: MOV DL,BYTE PTR[DI];取出存放在BUF中的十六进制数到DL供显示 CMP DL,3AH ;是否小于10?JB CHANGE12 ;如果小于10转显示 ADD DL,7 ;否则为A到F之间数,加7 CHANGE12: MOV AH,2 ;显示1个字符 INT 21H IN...

二进制怎么转换为十六进制
另外,如果你使用的是Python等编程语言,你也可以使用内置的函数将二进制转换为十六进制。例如,在Python中,你可以使用int函数和hex函数来实现这个转换:python复制代码 binary_number='11010101'hex_number=int(binary_number,2)hex_string=hex(hex_number)print(hex_string)#Output:0xd5 ...

汇编语言编写一个程序,实现十进制、十六进制和二进制之间的转换
) START: PUSH CS POP DS PUSH CS POP ES CALL INPUT CALL LFCR CALL LFCR MOV BX,10 CALL DSPAXX CALL LFCR MOV

1.二进制转十六进制注:十六进制数用C 语言中的前缀表示法10100110=...
将二进制数每4位一组转换成十六进制数,再按照顺序排列即可。假设要将二进制数10100110 转换成十六进制数,按照每四位一组的方式分组,可以得到 1010 0110。然后,将每个四位的二进制数转换成相应的十六进制数字,主要是根据下表进行转换:|二进制数|十六进制数| |:---:|:---:| |0000|0| |...

汇编语言二进制转换为十六进制并显示的程序(简化段程序),能不能详细...
存储输入的字符串 n dw 0dseg endsassume cs:cseg, ds:dsegcseg segmentstart: mov ax, dseg mov ds, ax call readBin ;调用输入2进制的函数,结果存储在n中 call outHex ;调用将n按16进制输出的函数 mov ax, 4c00h int 21hreadBin proc near mov ah, 9 ;输出 ...

...要求输出该2 进制数的16 进制表示。在16 进制的表示中,
define max 20 void main(){ int i,j,x,r=0,m;char a[max][20];int b[10];printf("请输入待转化的二进制个数:\\n");scanf("%d",&x);printf("请输入二进制数:\\n");for(i=0;i<x;i++) scanf("%s",a[i]);printf("转化成十六进制数为:\\n");for(i=0;i<x;i++){ ...

相似回答