yuguoyu123456 发表于 2019-10-13 15:43:54

汇编语言片内RAM和片外RAM操作代码求解

软件:伟福6000或者keil4
test1:
(1)在片内RAM 30H中存放12H
                         31H中存放34H
    求 30H单元和31H单元的和,并存入到32H中
观察PSW各个位的状态及具体含义写出具体代码程序(手工译码,帮忙写一下每句话什么意思)




test2:
(2)在片外RAM中 1000H单元中存入88H,1001H单元存入99H
求两个单元的和并存入到1002H单元。
观察PSW各个位的状态及具体含义写出具体代码程序(手工译码,帮忙写一下每句话什么意思)


yuguoyu123456 发表于 2019-10-13 15:45:14

刚开始学习汇编和伟福软件,问的问题比较小儿科,还望大家多包涵

canspider 发表于 2019-10-13 17:23:18

楼主方便透露一下是哪个学校的吗
以后招人尽量避开

yuguoyu123456 发表于 2019-10-13 17:25:42

高中生{:smile:}

yuguoyu123456 发表于 2019-10-13 17:26:01

我哥的号

yuguoyu123456 发表于 2019-10-13 17:27:29

canspider 发表于 2019-10-13 17:23
楼主方便透露一下是哪个学校的吗
以后招人尽量避开

你可以说说吗

rainbow 发表于 2019-10-13 17:34:07

看一下MOV,MOVC,MOVX三个指令的功能说明。

yuguoyu123456 发表于 2019-10-13 17:39:47

rainbow 发表于 2019-10-13 17:34
看一下MOV,MOVC,MOVX三个指令的功能说明。

嗯嗯,谢谢您

lingdianhao 发表于 2019-10-13 18:16:12

建议转行吧。

yuguoyu123456 发表于 2019-10-13 18:30:18

org 0100h
mov a,#12h
mov 30h,a
mov b,#34h
mov 31h,b
adda,b
mov32h,a
end

yuguoyu123456 发表于 2019-10-13 18:30:40

这样对吗

laujc 发表于 2019-10-13 18:46:43

yuguoyu123456 发表于 2019-10-13 18:30
这样对吗

org 0100h
mov a,#12h
mov 30h,a
mov a,#34h
mov 31h,a
adda,32H
mov32h,a
end

yuguoyu123456 发表于 2019-10-13 18:58:46

laujc 发表于 2019-10-13 18:46
org 0100h
mov a,#12h
mov 30h,a


你这个不对,你仿真就知道了

huangqi412 发表于 2019-10-13 19:29:55

高中生?   建议mdk直接软仿网上随便找个51教材看看指令集和存储体系介绍

yuguoyu123456 发表于 2019-10-13 19:33:31

本帖最后由 yuguoyu123456 于 2019-10-13 19:34 编辑

这个怎么改

yuguoyu123456 发表于 2019-10-13 19:38:47

变量除了a,dptr还可以用什么啊

czzhouyun 发表于 2019-10-13 20:17:14

只能用A

czzhouyun 发表于 2019-10-13 20:18:03

居然wf6000还能用,厉害

czzhouyun 发表于 2019-10-13 20:27:50

ORG 0100H
MAIN:
MOV DPTR,#1000H
MOV A,#88H
MOVX @DPTR,A
MOV A,#99H
INC DPTR
MOVX @DPTR,A
ADD A,#88H
INC DPTR
MOVX @DPTR,A

czzhouyun 发表于 2019-10-13 20:32:08

片外地址的数据要导到片内地址上运算完了再放回去,你那1000H上数据存放的地址不适合出题

yuguoyu123456 发表于 2019-10-13 21:11:33

我第二题不太会: 大家能帮我写一下吗
(2)在片外RAM中 1000H单元中存入88H,1001H单元存入99H
求两个单元的和并存入到1002H单元。

laujc 发表于 2019-10-13 22:00:37

yuguoyu123456 发表于 2019-10-13 18:58
你这个不对,你仿真就知道了

org 0100h
mov a,#12h
mov 30h,a
mov a,#34h
mov 31h,a
adda,30H
mov32h,a
end

写错一个字,现在这样子就是对的了.51里面的运算尽量用A

laujc 发表于 2019-10-13 22:12:45

yuguoyu123456 发表于 2019-10-13 21:11
我第二题不太会: 大家能帮我写一下吗
(2)在片外RAM中 1000H单元中存入88H,1001H单元存入99H
求两个单 ...

org 000h
org 0100h
mov dptr,#1000h
mov A,#88H
movx @dptr,A
inc dptr   
mov A,#99H
movx @dptr,A

movx A,@dptr
mov R0,A
movdptr,#1000H
movx A,@dptr

add A,R0

mov dptr,#1002H
movx @dptr,A

end

难得有学校还在教汇编,这个是基础知道,了解了还是很有用的

sme 发表于 2019-10-14 08:33:37

yuguoyu123456 发表于 2019-10-13 18:30
org 0100h
mov a,#12h
mov 30h,a


这个应该是不完全符合题意。

30H/31H实际上是传递参数的,要你计算30H/31H两个地址中数据的和,你直接A+B,那还不如直接两个数相加好了,何必需要30H/31H?
页: [1]
查看完整版本: 汇编语言片内RAM和片外RAM操作代码求解