一、实验要求
二、实验技巧
三、实验内容
思考:debug生成的可执行文件,找到数据段和代码段。数据段的起止地址是?代码段的起止地址是?你设置的数据段有多大,实际能用的数据段有多大?
数据段的起止地址是076A:0000 003F 代码段的起止地址是076B:0000 001D 设置的数据段076A:0000 003F 实际能用的数据段有076A:0000 007
源程序(不要截图):
Data segment sto DW 1000h Data ends assume cs:code , ds:data code segment assume cs:code,ds:data start: mov ax , data mov ds , ax mov ax,0 mov bx,0 mov cx,50 mov dx,1 s: add ax,dx add dx,2 add bx,ax loop s mov sto,ax mov ax,4c00h int 21h code ends end start
结果(截图):
2:编写程序,设置足够大的数据段,初始状态每个字节数值全7。使用汇编指令将字母表ABCD….Z存储在数据段中。将数据段中存储的26个字符全部输出。
思考:debug生成的可执行文件,找到数据段和代码段。数据段的起止地址是?代码段的起止地址是?你设置的数据段有多大,实际能用的数据段有多大?
数据段的起止地址是076A:0000 003D 代码段的起止地址是076C:0000 001D 设置的数据段076A:0000 003D 实际能用的数据段有076A:0000 001A
源程序(不要截图):
Data segment da DB 32 DUP(7) Data ends assume cs:code , ds:data code segment start: mov ax , data mov ds , ax mov ax , 41h mov bx , 0 mov cx,26 mov bx,offset data s: mov [bx],ax add al,1 add bx,1 loop s mov ax,4c00h int 21h code ends end start
运行结果(截图):
3.大家来找茬。请翻到本文档下一页,请根据截图判断哪里出错了,再看看自己判断是否正确。你能找到错误原因的题有几道?
Mov ax,4C00 4C00后面没有H,
第二行CS:CODE是中文冒号
Code ends结束
Mov bx,1234h使用了中文的逗号
【这么炎热的夏天,就应该吃冰的!甜筒甜筒~好吃好吃,奶茶奶茶,好喝好喝,突然想吃饭了,好像饿了诶。嘿嘿,吃饭去啦!L(‘ω’)┘三└(‘ω’)」】
句子君:
马云在汪涵生日时发给汪涵一条短信,马云说:汪涵,男人的最佳年龄是40到50岁之间的十年,要做想做和可以做的事很多,30岁之前做别人要你做的事,30岁后稀里糊涂学着自己做事,40岁必须知道自己最强最喜欢做的事,50岁的时候,要考虑为年轻人做一点事。