码文不易,如果帮助到您,希望您可以帮我刷一下点击量,与您无害,与我有益谢谢 支持原创 。
欢迎大家阅读我的博客,如果有错误请指正,有问题请提问,我会尽我全力改正错误回答问题。在此谢谢大家。
码文不易,如果帮助到您,希望您可以帮我刷一下点击量,与您无害,与我有益谢谢 支持原创 。
(1)掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。
(2)熟悉调试程序的方法。
(1)编制程序将ASCII码表示的十进制数转换为二进制数;
(2)编制程序将十进制的ASCII码转换为BCD码;
码文不易,如果帮助到您,希望您可以帮我刷一下点击量,与您无害,与我有益谢谢 支持原创 。
Bin(二进制) | Oct(八进制) | Dec(十进制) | Hex(十六进制) | 缩写/字符 | 解释 |
---|---|---|---|---|---|
00110000 | 60 | 48 | 30 | 0 | 数字0 |
00110001 | 61 | 49 | 31 | 1 | 数字1 |
00110010 | 62 | 50 | 32 | 2 | 数字2 |
00110011 | 63 | 51 | 33 | 3 | 数字3 |
00110100 | 64 | 52 | 34 | 4 | 数字4 |
00110101 | 65 | 53 | 35 | 5 | 数字5 |
00110110 | 66 | 54 | 36 | 6 | 数字6 |
00110111 | 67 | 55 | 37 | 7 | 数字7 |
00111000 | 70 | 56 | 38 | 8 | 数字8 |
00111001 | 71 | 57 | 39 | 9 | 数字9 |
DATA SEGMENT
NUM DB 30H,30H,30H,31H,39H
DATA ENDS
数据部分,NUM代表5位ASCII码这里分别是00019
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
代码段,进行数据导入
MOV SI,OFFSET NUM;
将NUM的位置存入SI,以便之后调用
MOV BX,000AH
重点:将000AH赋值给BX,表示每一位数字的权重
MOV CX,0004H;
重点:将0004H赋值给CX,记录之后循环的次数,因为输入是5个数字,所以这里循环四次。
MOV AH,00H
MOV AL,[SI]
将SI所存地址中的数据(也就是NUM的第一个数字)存入AL(AX寄存器的第四位)
SUB AL,30H ;
将AL中的值减30H(根据ASCII码表,0对应编码为0x30H,1对应的编码为0x31H以此类推,所以ASCII码减去0x30H就是对应的数字)
A1: IMUL BX ;
ADD AL,[SI+01];
SUB AL,30H;
INC SI
LOOP A1;
循环部分
循环,注意循环的次数之前指定了,默认取CX中的值
码文不易,如果帮助到您,希望您可以帮我刷一下点击量,与您无害,与我有益谢谢 支持原创 。
码文不易,如果帮助到您,希望您可以帮我刷一下点击量,与您无害,与我有益谢谢 支持原创 。
DATA SEGMENT
NUM DB 30H,30H,30H,31H,39H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET NUM;
MOV BX,000AH
MOV CX,0004H;
MOV AH,00H
MOV AL,[SI]
SUB AL,30H ;
A1: IMUL BX ;
ADD AL,[SI+01];
SUB AL,30H;
INC SI
LOOP A1;Ñ»·
MOV [SI],AX
INT 21H
CODE ENDS
END START
BCD码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码。用4位二进制数来表示1位十进制数中的0~9这10个数码。
MOV BX,0010H
重点:将0010H赋值给BX,表示每一位数字的权重,这是和上面程序唯一不同的地方
码文不易,如果帮助到您,希望您可以下载一个压缩包,与您无害,与我有益谢谢支持原创
DATA SEGMENT
NUM DB 30H,30H,30H,31H,39H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET NUM;
MOV BX,0010H
MOV CX,0004H;
MOV AH,00H
MOV AL,[SI]
SUB AL,30H ;
A1: IMUL BX ;
ADD AL,[SI+01];
SUB AL,30H;
INC SI
LOOP A1;
MOV [SI],AX
INT 21H
CODE ENDS
END START
码文不易,如果帮助到您,希望您可以帮我刷一下点击量,与您无害,与我有益谢谢 支持原创 。