一道汇编程序题

已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH,下述程序执行后:
POP DPH
POP DPL
MOV DPTR,#4000H
RL A
MOV B,A
MOVC A,@A+DPTR
PUSH A
MOV A,B
INC A
MOVC A,@A+DPTR
PUCH A
RET
ORG 4000H
DB 10H,80H,30H,50H,30H,50H
请问1。这个程序是干吗用的?
2.RET指令返回的PCH与PCL为什么就是断点处PC要执行的下一条指令的地址呢?
3。PCH与PCL又是根据什么东东得来的啊(不是本来就存在的吗,为什么还用MOVC A,@A+DPTR等算来算去)?

第1个回答  2010-07-09
这是个多路分支程序,技巧性较强。初学者,还是绕过它吧。

汇编语言程序设计题目
一、改错(只能对每条错误指令的一个操作数进行修改)。(共10分,每小题1分)1. MOVBX,AL改正: MOV BX,BX 2. MOV AX, A999H 改正:MOV AX,0A999H 3. MOV AL, 1234改正:MOV AX,1234 4. MOVAX, [CX] 改正:MOV AX,[BX]5. MOVDS, 1000H 改正:MOV AX,1000H ...

汇编程序题目,求详解。
1 START:MOV AX,01H MOV BX,02H MOV CX,02H MOV DX,02H 为循环开始即初始化阶段 是4条传送指令 传送到结果是:AX=01H BX=02H CX=02H DX=02H 其中CX为下一步循环的循环计数器 CX=02H 即表示要循环2次 2 第一次循环 执行一次下面的程序段 NXET: INC...

《汇编语言程序设计》 题目解答
3、计算1090H+1280H的和。4、AX=1090H,BX=90H。5、MOV DX,1 MOV AX,-100H MOV BX,16 IMUL BX (1)执行后,AX=F000H,BX=16,DX=FFFFH (2)若将IMUL改为MUL则执行完后,AX=1600H,BX=16,DX=000BH 6、下面程序段中每条指令执行完后,AX的内容是什么(十六进制)?MOV AX,0;AX=0000...

求解一道汇编问题
因为基址寄存器是BX,所以段地址在DS中,其值为 3000H 物理地址 = 段地址 * 10H + 有效地址 = 3000H*10H + 1202H = 31202H 源操作数为一个16位的字操作数。其低位字节在31202H中,高位字节在31202H+1=31203H中。根据题意,(31020H)= 0F7H, (31203H)=90H 所以,操作数为90F7H ...

一道汇编程序题中有地方不懂
然后-2去掉最后一个换行.2.AX存放了N的值,也就是从BUFF开始到$总共占用的内存字节数.SUB AX,2被调用了,当程序检测到回车换行的时候就会调用这里.AX这里似乎没什么用.3.这段程序就是根据检测到的回车换行确定换行前面的字符串,然后把它们存起来,最后再调用中断输出出去....

汇编语言程序设计题
实现两位BCD码的拆分 or ax,3030h ;高低位分别加上30h,实现两位BCD码到ASCII码的转换 mov Data_BCD[1],ah ;保存高位ASCII码 mov Data_BCD[2],al ;保存低位ASCII码 Exit_Proc: mov ah,4ch ;结束程序 int 21h Code ENDS END Start ;编译到此结束 ...

微机原理,汇编程序题:从变量ARRAY开始的区域,存放10个WORD类型数,找出...
JLE NEXT MOV AX, DX JMP NEXT NEXT: LOOP SCHMAX FINISH: MOV ES:[MAX], AX INT 3 ;暂停,以便在DEBUG中查看运行结果 CODE ENDS END START === 显示的程序不能编辑排版分行,且将程序截图贴上:

汇编语言程序设计题目,在线等答案!!!急!
DISP FU:LEA DX, MSG2 DISP:MOV AH, 9 ;显示字符串.INT 21H MOV AH, 4CH INT 21H CODE ENDS END START ;--- 其它题目,也回答了不少,可见楼主提问的其它网页。

汇编题,写一个完整的程序,实现1到100之间的偶数求和,将结果保存在数据段...
DATA SEGMENTSUM DW 0DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AX MOV AX,DATAMOV ES,AX 准备循环数据,偶数,所以这里使用了取巧的方法,直接加2。通用的可以使用模2的方法计算。MOV CX,50MOV BX,2MYLOOP。ADD SUM,BXADD BX,2 LOOP MYLOOP ...

一道单片机汇编题目在线等求解答,答案怎么计算出来的,
1)就是把立即数 200,传送到 BP 指定的地址单元里,即 200-->[6200H];2)就是把立即数 2000,传送到 BX 指定的地址单元里,即 2000-->[1400H];要记住,实际地址是 段地址x10H+偏移地址;如 SS=5200H,BP=6200H,那么 实际地址=5200x10 +6200=58200H 如 DS=2100H,BX=1400H,那么...

相似回答
大家正在搜