请使用零地址指令、一地址指令和二地址指令分别编写程序实现:X=(A+B×C)/(D -E×F)
请使用零地址指令、一地址指令和二地址指令分别编写程序实现:X=(A+B×C)/(D -E×F)
可使用的指令列表如下:
零地址指令
PUSH M,POP M,ADD,SUB,MUL,DIV
一地址指令
LOAD M,STORE M,ADD M,SUB M,MUL M,DIV M
二地址指令
MOVE X ,Y ADD X, Y SUB X, Y MUL X, Y DIV X,Y
在线等答案 邹华桥 发表于 2020-5-14 18:27
在线等答案
汇编这里人很少的…… 永恒的蓝色梦想 发表于 2020-5-14 18:35
汇编这里人很少的……
那我该去哪儿
永恒的蓝色梦想 发表于 2020-5-14 18:35
汇编这里人很少的……
兄第,你会吗,我们没学过汇编,我们老师给我们出这种题 邹华桥 发表于 2020-5-14 18:55
兄第,你会吗,我们没学过汇编,我们老师给我们出这种题
我也不会汇编 邹华桥 发表于 2020-5-14 18:55
兄第,你会吗,我们没学过汇编,我们老师给我们出这种题
不会没事,因为可以学
问题不是会不会,而是学不学
你想不想学汇编语言?如果不想学,随便找个理由糊弄过去就好了
如果想学,那就是另一回事了
assume cs:code,ds:data
data segment
BCshu dw 20,2,2 ;存A B C
Cshu db 12,2,2 ;存D E F
Jguo dw 0,0 ;存商和余数
data ends
code segment
start:mov ax,data
mov ds,ax
;被除数计算
mov ax,BCshu
mov cx,BCshu
mul cx
add ax,BCshu
adc dx,0
mov BCshu,ax
mov BCshu,dx
;除数计算
mov al,Cshu
mov cl,Cshu
mul cl
mov bh,0
mov bl,Cshu
mov cx,ax
sub bx,cx
mov ax,BCshu
mov dx,BCshu
div bx
mov Jguo,ax
mov Jguo,dx
mov ax,4c00h
int 21h
code ends
end start 可以算正数,负数的自己再修改下。 xie1234abc 发表于 2020-5-14 22:22
可以算正数,负数的自己再修改下。
感谢 现在这个只可以算除数为正的情况。
要算除数为负,给你个思路:加个判断语句,如果除数为负时,用 E*F-D 。
页:
[1]