急!汇编语言程序功能和语句注释

MOV R0, #30H

MOV A, @R0
INC R0
ADD A, @R0
DA A
INC R0
MOV @R0, A
SJMP $

说明以上程序功能还有每句的注释!谢谢了!

MOV R0, #30H //将立即数30H放入R0
MOV A, @R0 //取地址30H的数据
INC R0 //R0加1后放回R0 R0=31H
ADD A, @R0 //将地址31H内的数据加上A后,放回A
DA A //将A调整为十进制
INC R0 //R0加1后放回R0 R0=32H
MOV @R0, A //将A放入地址32H中
SJMP $ //等待

其实这段是实现了将地址30H和地址31H的相加,最后放入地址32H中追问

谢谢!能不能在帮我遍两个题

这个是关键词

追答

第一个
MOV R0,#30H
MOV A,@R0
INC R0
MOV B,@R0
SUBB A,B //A和B相减
JNC A_BIG //没有借位,说明A大,跳转到A_BIG
INC R0 //有借位,说明B大
MOV @R0,A
SJMP NEXT //传送完成,跳转到NEXT
A_BIG:INC R0
MOV @R0,B
NEXT:SJMP $

R0指向内部需要传递的数据首址,DPTR指向外部RAM的首址
XADDR外部RAM首址,ADDR内部RAM首址
CNT,需要传递的数据个数
MOV R0,#30H
MOV DPTR,#40H
MOV R1,#8
LOOP:
MOV A,@R0
MOVX @DPTR,A //把A中数据给DPTR指向的地址处
INC R0 //R0自加1
INV DPTR //DPTR自加1
DJNZ R1,LOOP //循环,直到传送完成

1

温馨提示:内容为网友见解,仅供参考
无其他回答

汇编语言如何注释?
1、程序的最前面,注释内容一般说明该程序总的说明,解释程序的主要功能,程序的版本号,程序的修改日志,程序的编制人等等 2、子程序的前面,一般说明该子程序或函数完成的功能,输入参数,输出参数,影响的标志位等等。3、指令行的后面,注释该行语句的功能。比如以下简单程序的注释。;--- ;该程序完...

汇编语言 把下面这个程序每条指令加注释,尽量的详细
CALL DISPL;调用子程序DISPL CRLF;宏CRLF,即输出换行符 MOV AX,4C00H ;准备调用DOS终端结束程序,功能号4CH,返回值0 INT 21H;调用DOS中断 DISPL PROC NEAR ;子程序DISPL DS1:MOV AH,02 ;准备调用DOS中断,功能好02,即字符输出 MOV DL,[SI+BX-1];字符的ASCLL代码在[SI+BX-1]中 INT 21...

急~急~急~汇编语言程序设计题目
; 本程序在MASMPlus 1.2集成环境下通过编译,经过调试,运行正确。Code Segment Assume CS:Code,DS:Code ; --- ; 功能:显示指定地址(Str_Addr)的字符串 ; 入口:; Str_Addr=字符串地址(要求在数据段); 用法: Output Str_Addr ; 用法举例:Output PromptStr Output MACRO Str_Addr...

汇编语言程序设计
1. 串操作指令、处理器控制指令-位控制指令 在某一字符串中搜寻是否有字符A,若有,则把搜索次数记录下来,送到BX中;若无,则将BX清0。设字符串起始地址偏移量为00H,字符串长度为n。MOV DI,0000H \/\/字符串初始地址放入寄存器DI中 MOV CX,n \/\/字符串长度放入CX中 MOV AL,'A' \/\/要查...

用汇编语言编写一个小小程序
这个还不简单#include<stdio.h>void main(){ float a,b,c,s;\/*定义数据类型,数据初始化*\/s=(a*b+c)\/a;\/*计算并把计算结果赋值给s*\/printf("s=%f\\n",s);\/*输出计算结果*\/}

谁给我写一个最简单的汇编语言程序
给新手的新手注释 :H表示地址 mov 是赋值的含义 R1,R2...是寄存器,main相当于C语言中主函数,是程 序的入口 0H~30H 一般用于存放中断函数无条件跳转语句(即为AJMP,SJMP,LJMP, 3者无条件跳转的地址量有限,LJMP最大(64Kbyte空间内语句可跳转),SJMP最小(-128H~+127H )) ,AJMP...

汇编语言,求注释;另外还有如何输入一串字符串将其转换为ASCII码。不...
;楼主的程序,有好些冗余指令,不好理解。;简化一下,功能相同:DATA SEGMENT MES1 DB 'Enter a word :', 0AH, 0DH, '$'CHANGE DB ' ---> 'SD DB ?, ?, '$'DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START:MOV AX, DATA MOV DS, AX MOV...

汇编语言的多行注释
如果注释过长不能在一行完成,那么应该在第1列单独起一行,但不宜频繁使用以防淹没代码行.如果是多行注释可以写成注释块,注释块与代码行以空注释行相分隔如下所示:;; In-line comment block. On rare occasions, an extended comment ; is needed to explain some important aspect of a program. ...

汇编语言的 注释啊啊 ,追加的
;将bl的值存入bx所指向的数据段中inc bx;bx自加1,相当于C语言中的C++Loop Again;此步是CX-1到CX=0,即循环256次后跳出循环jmp $;跳转到当前的地址, 所以它是一个死循环,相当于在此原地踏步。如果要让它能正常结束,应该将这句改为“mov ah,4ch int 21h”两句 code endsend start ...

单片机汇编语言,求给这个很短程序写一下注释
SUBB A,@R0 ;将21H单元的内容与A中的相减结果放在A中 JC NEXT ;判断是否有借位!有则跳转至NEXT;MOV @R0,2BH DEC R0 MOV @R0,2AH INC R0 SETB 00H NEXT: DJNZ R7,LOOP \/\/R7自减1后不为零,则跳转至LOOP JB 00H,START SJMP (20H)=0D3H,...

相似回答