汇编语言片内RAM和片外RAM操作代码求解
软件:伟福6000或者keil4test1:
(1)在片内RAM 30H中存放12H
31H中存放34H
求 30H单元和31H单元的和,并存入到32H中
观察PSW各个位的状态及具体含义写出具体代码程序(手工译码,帮忙写一下每句话什么意思)
test2:
(2)在片外RAM中 1000H单元中存入88H,1001H单元存入99H
求两个单元的和并存入到1002H单元。
观察PSW各个位的状态及具体含义写出具体代码程序(手工译码,帮忙写一下每句话什么意思)
刚开始学习汇编和伟福软件,问的问题比较小儿科,还望大家多包涵 楼主方便透露一下是哪个学校的吗
以后招人尽量避开 高中生{:smile:} 我哥的号 canspider 发表于 2019-10-13 17:23
楼主方便透露一下是哪个学校的吗
以后招人尽量避开
你可以说说吗 看一下MOV,MOVC,MOVX三个指令的功能说明。 rainbow 发表于 2019-10-13 17:34
看一下MOV,MOVC,MOVX三个指令的功能说明。
嗯嗯,谢谢您 建议转行吧。 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
这样对吗
org 0100h
mov a,#12h
mov 30h,a
mov a,#34h
mov 31h,a
adda,32H
mov32h,a
end laujc 发表于 2019-10-13 18:46
org 0100h
mov a,#12h
mov 30h,a
你这个不对,你仿真就知道了 高中生? 建议mdk直接软仿网上随便找个51教材看看指令集和存储体系介绍 本帖最后由 yuguoyu123456 于 2019-10-13 19:34 编辑
这个怎么改 变量除了a,dptr还可以用什么啊 只能用A 居然wf6000还能用,厉害 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
片外地址的数据要导到片内地址上运算完了再放回去,你那1000H上数据存放的地址不适合出题 我第二题不太会: 大家能帮我写一下吗
(2)在片外RAM中 1000H单元中存入88H,1001H单元存入99H
求两个单元的和并存入到1002H单元。 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 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
难得有学校还在教汇编,这个是基础知道,了解了还是很有用的
yuguoyu123456 发表于 2019-10-13 18:30
org 0100h
mov a,#12h
mov 30h,a
这个应该是不完全符合题意。
30H/31H实际上是传递参数的,要你计算30H/31H两个地址中数据的和,你直接A+B,那还不如直接两个数相加好了,何必需要30H/31H?
页:
[1]