
汇编语言的问题!急急急!各位大师都来帮忙啊 !跪求!泪奔!
1.秋ADDR1开始单元中连续存放的两个双字数据之和,将结果存放在ADDR2开始的单元,并将结果在显示器上显示出来。(假定和不超过双字)2.若在某存储区中已输入4个ASC...
1.秋ADDR1开始单元中连续存放的两个双字数据之和,将结果存放在ADDR2开始的单元,并将结果在显示器上显示出来。(假定和不超过双字)
2.若在某存储区中已输入4个ASCII码表示的的16进制数码(高位在前),把它们转换为2进制数据放入BX寄存器对中,并显示在屏幕上。
3。编写子程序。将AL中的2进制数转换为对应的BCD码(置于AL中)返回。若AL中的2进制数大于99,则置CF为1,AL不变,返回。主程序调用子程序实现上述功能。(就是完整的程序应该包括主程序和子程序) 展开
2.若在某存储区中已输入4个ASCII码表示的的16进制数码(高位在前),把它们转换为2进制数据放入BX寄存器对中,并显示在屏幕上。
3。编写子程序。将AL中的2进制数转换为对应的BCD码(置于AL中)返回。若AL中的2进制数大于99,则置CF为1,AL不变,返回。主程序调用子程序实现上述功能。(就是完整的程序应该包括主程序和子程序) 展开
2个回答
展开全部
NO.1
DATA SEGMENT
ADDR1 DD XXXX XXXXH
ADDR2 DD 0H
DATA ENS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET ADDR1
MOV DI,OFFSET ADDR2
MOV AX,WORD PTR ADDR1[SI]
MOV WORD PTR ADDR2[DI],AX
INC SI
INC DI
MOV AX,WORD PTR ADDR1[SI]
MOV WORD PTR ADDR2[DI],AX
MOV DI,OFFSET ADDR2
MOV AL,BYTE PTR ADDR2[DI]
AND AL,0F0H
SHR AL,4
CMP AL,9
JBE JM
ADD AL,07H
JM:
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
MOV AL,BYTE PTR ADDR2[DI]
AND AL,0FH
CMP AL,9
JBE JM1
ADD AL,07H
JM1:
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
MOV AL,BYTE PTR ADDR2[DI+2]
AND AL,0F0H
SHR AL,4
CMP AL,9
JBE JM2
ADD AL,07H
JM2:
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
MOV AL,BYTE PTR ADDR2[DI+2]
AND AL,0FH
CMP AL,9
JBE JM3
ADD AL,07H
JM3:
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
NO.3
BCD PROC
MOV NUM,AL
MOV BL,AL
AND BL,80H
CMP BL,1
JNZ JN
MOV AL,1
SHL AL,7
JN:
MOV BL,NUM
AND BL,40H
CMP BL,1
JNZ JN1
MOV CL,1
SHL CL,6
ADD AL,CL
JN1:
MOV BL,NUM
AND BL,20H
CMP BL,1
JNZ JN2
MOV CL,1
SHL CL,5
ADD AL,CL
JN2:
MOV BL,NUM
AND BL,10H
CMP BL,1
JNZ JN3
MOV CL,1
SHL CL,4
ADD AL,CL
JN3:
MOV BL,NUM
AND BL,8H
CMP BL,1
JNZ JN4
MOV CL,1
SHL CL,3
ADD AL,CL
JN4:
MOV BL,NUM
AND BL,4H
CMP BL,1
JNZ JN5
MOV CL,1
SHL CL,2
ADD AL,CL
JN5:
MOV BL,NUM
AND BL,2H
CMP BL,1
JNZ JN6
MOV CL,1
SHL CL,1
ADD AL,CL
JN6:
MOV BL,NUM
AND BL,1H
CMP BL,1
JNZ JN1
MOV CL,1
ADD AL,CL
CMP AL,99
JBE EXIT
MOV BL,2
SUB BL,3
EXIT:
RET
BCD ENDP
DATA SEGMENT
ADDR1 DD XXXX XXXXH
ADDR2 DD 0H
DATA ENS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET ADDR1
MOV DI,OFFSET ADDR2
MOV AX,WORD PTR ADDR1[SI]
MOV WORD PTR ADDR2[DI],AX
INC SI
INC DI
MOV AX,WORD PTR ADDR1[SI]
MOV WORD PTR ADDR2[DI],AX
MOV DI,OFFSET ADDR2
MOV AL,BYTE PTR ADDR2[DI]
AND AL,0F0H
SHR AL,4
CMP AL,9
JBE JM
ADD AL,07H
JM:
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
MOV AL,BYTE PTR ADDR2[DI]
AND AL,0FH
CMP AL,9
JBE JM1
ADD AL,07H
JM1:
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
MOV AL,BYTE PTR ADDR2[DI+2]
AND AL,0F0H
SHR AL,4
CMP AL,9
JBE JM2
ADD AL,07H
JM2:
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
MOV AL,BYTE PTR ADDR2[DI+2]
AND AL,0FH
CMP AL,9
JBE JM3
ADD AL,07H
JM3:
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
NO.3
BCD PROC
MOV NUM,AL
MOV BL,AL
AND BL,80H
CMP BL,1
JNZ JN
MOV AL,1
SHL AL,7
JN:
MOV BL,NUM
AND BL,40H
CMP BL,1
JNZ JN1
MOV CL,1
SHL CL,6
ADD AL,CL
JN1:
MOV BL,NUM
AND BL,20H
CMP BL,1
JNZ JN2
MOV CL,1
SHL CL,5
ADD AL,CL
JN2:
MOV BL,NUM
AND BL,10H
CMP BL,1
JNZ JN3
MOV CL,1
SHL CL,4
ADD AL,CL
JN3:
MOV BL,NUM
AND BL,8H
CMP BL,1
JNZ JN4
MOV CL,1
SHL CL,3
ADD AL,CL
JN4:
MOV BL,NUM
AND BL,4H
CMP BL,1
JNZ JN5
MOV CL,1
SHL CL,2
ADD AL,CL
JN5:
MOV BL,NUM
AND BL,2H
CMP BL,1
JNZ JN6
MOV CL,1
SHL CL,1
ADD AL,CL
JN6:
MOV BL,NUM
AND BL,1H
CMP BL,1
JNZ JN1
MOV CL,1
ADD AL,CL
CMP AL,99
JBE EXIT
MOV BL,2
SUB BL,3
EXIT:
RET
BCD ENDP
追问
哥们第二题呢?第一题好长啊 !..帮帮忙啊 !我马上采纳!
追答
第二题没看明白题意
试着写写,应该是
no.2
data segment
buff db 31h,32h,41h,42h
num db 16 dup (0)
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov si,offset buff
mov di,offset num
mov cx,4
jo4:
mov al,byte ptr buff[si]
cmp al,9
jbe jo
sub al,7h
jo:
sub al,30h
mov bl,2
jo3:
div bl
cmp al,0
mov byte ptr num[di],ah
inc di
jz jo2
jmp jo3
jo2:
inc si
loop jo4
mov cx,4
jo6:
push cx
mov cx,4
jo5:
mov di,offset num
mov al,byte ptr num[di+3]
add al,30h
mov dl,al
mov ah,02h
int 21h
dec di
loop jo5
pop cx
add di,4
loop jo6
mov ah,4ch
int 21h
code ends
end start

2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询