- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8051單晶片微電腦應用
8051單晶片微電腦應用
HW3
指導老師:郭金城
班級:網通二甲
學號 姓名:邱怡綾
題目一
(一) 程式功能
程式填入數值並做(丙+丁)-(甲+乙)
(二) 說明
有甲、乙、丙、丁四數,分別存於RAM記憶體中,甲30H~33H填入10H~13H,乙34H~37H填入14H~17H,丙38H~3BH填入18H~1BH,丁3CH~3FH填入1CH~1FH,在做(丙+丁)-(甲+乙)運算功能
(三) 程式流程圖
(四) 程式
ORG 00H
MOV SP,#5FH ;將堆疊址標SP改為5F
;────────────────────
MOV R0,#30H ;將被加數低位元組位址存於R0
MOV B,#16 ;
MOV A,#16
CALL SET_LOOP
;────────────────────
MOV R0,#38H
MOV R1,#3CH
MOV B,#4
CALL ADD_LOOP
;────────────────────
MOV R0,#30H
MOV R1,#34H
MOV B,#4
CALL ADD_LOOP
;────────────────────
MOV R0,#38H
MOV R1,#30H
MOV B,#4
CALL SUB_LOOP
JMP $
;────────────────────
SET_LOOP: MOV @R0,A
INC A
INC R0
DJNZ B,SET_LOOP
RET
;───────加法副程式─────────────
ADD_LOOP: CLR C ;清除借位旗號CY,使「ADDC A,
;@R1」再第一次運算時,減法的借位CY
;為0
ADD_LP: MOV A,@R0
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ B,ADD_LP
RET
;───────減法副程式─────────────
SUB_LOOP: CLR C ;清除借位旗號CY,使「SUBB A,
;@R1」再第一次運算時,減法的借位CY
;為0
SUB_LP: MOV A,@R0 ;取被減數A中
SUBB A,@R1 ;將A中之被減數減去減數
MOV @R0,A ;相減結果存回被減數的位置
INC R0 ;R0指到下一個被減數的位置
INC R1 ;R1指到下一個減數的位置
DJNZ B,SUB_LP
文档评论(0)