汇编(实验四).doc

上传人:hs****ma 文档编号:564141569 上传时间:2023-08-06 格式:DOC 页数:3 大小:30.01KB
返回 下载 相关 举报
汇编(实验四).doc_第1页
第1页 / 共3页
汇编(实验四).doc_第2页
第2页 / 共3页
汇编(实验四).doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《汇编(实验四).doc》由会员分享,可在线阅读,更多相关《汇编(实验四).doc(3页珍藏版)》请在金锄头文库上搜索。

1、汇编练习2 (方法一);程序代码:data segmentx db 0y db 0data endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax;数据段首地址送DS mov ah,1 int 21h mov x,al;操作数一送X中 mov ah,1 int 21h mov y,al;操作数二送Y中 mov al,x mov bl,y add al,bl sub al,30h;和减30H,变成其数的ASCII码 cmp al,3ah jl a2;和为09时,转a2显示(AL=3ah时转a2) add al,7h;和

2、为AE,加7,变成其ASCII码 a2: mov dl,al;显示 mov ah,2h int 21h mov ax,4c00h;返回DOS int 21h code ends end start 送数使用01号DOS功能调用,调用方式 MOV AH,1 INT 21H既送一个字符的ASCII,到AL中 MOV X,AL为直接寻址方式,既将AL中的内容送到变量X表示的内存单元中,也可以使用寄存器间接寻址方式,如 MOV SI,OFFSET X MOV SI,AL 4的ASCII为34H, 3的ASCII为33H,相加后为67H,要得到7的ASCII码,则要减30H。 09的ASCII为30H-

3、39HA,A-F的ASCII为41H-46H,例 5+7=C 得到的实际是5的ASCII码加7的ASCII码为6CH,因此也要减30H,得3CH,要得到C的ASCII码,则要加7H,得43H。 实验四练习1; 程序代码:code segment assume cs:codestart: mov ax,4000h mov ds,ax mov si,0000 mov al,30h mov si,al inc si mov al,40h mov si,al mov ax,4c00h int 21h code ends end start输入代码完成后,执行 MASM LX1.ASM产生OBJ文件LI

4、NK LX1.OBJ产生EXE文件然后执行 DEBUG LX1.EXE进入DEBUG后可以先看装入的程序,执行 U 0000 (偏移量为0000,代码段继存器CS)既从CS:0000反汇编。执行 T=0000 8 (从CS:0000开始执行,但是不要执行INT 21H以防返回DOS)执行 R命令,看DS的内容是否为4000H,(实际上程序中已经将DS修改为4000H),若DS的内容是否为4000H则执行 D 0000 (从DS:0000开始显示内存的内容)练习2 (方法一);程序代码:data segmentx dw 3y dw 4data endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax mov ax,x mov bx,y add ax,bx add ax,30h;将数变成它的ASCII码 mov dl,al mov ah,2h int 21h mov ax,4c00h;返回DOS int 21h code ends end start操作数直接保存到变量X。Y中因为程序无显示,因此在DEBUG中调试,看结果。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号