- [mywiil] 可以看看别人的程序处理思路,把属性定义成一个数据段。那样处理起来更好更合理。 08/21 03:36
- [mywiil] 没问题。 08/21 03:31
- [mywiil] OK。加油。 08/21 03:28
- [mywiil] 嗯哪。 08/21 03:28
- [mywiil] 恩,没问题,但是结果首先要自己先的出来,然后,在运行验证,反了就没意义咯 08/21 03:24
- [masmaster] NB~~~ 08/13 21:38
- [masmaster] 咋就一个蛋蛋啦? 08/11 10:11
- [masmaster] 好新鲜的水果呀~~~(¯﹃¯)~~~ 08/09 13:49
- [masmaster] good~~~ 08/07 22:53
- [mess] 正确。 08/06 10:28
- [masmaster] 没有呀! 08/13 22:44
- [游客] 只有板凳了...希望有一天能热泪庆祝来访人数过万...啊哈... 08/09 18:50
- [masmaster] 你的博客真好玩 08/07 17:08
[2010-08-11 23:00] 实验5(这章做的好辛苦。。。感谢masmaster)
(1)
①data段中的数据还是和原来一样
②cs=0B6F,ss=0B6E,ds=0B6D
③data的段地址为X-0012h,stack的段地址为X-0002h
程序返回前是不是指在执行到int 21h的时候
(2)
①data段中的数据为0123h,0456h
②cs=0B6F,ss=0B6E,ds=0B6D
③data的段地址为X-0012h,stack的段地址为X-0002h
④应该是所占字节数除以16取整加1,总体乘以16
(3)
①data段中的数据为0123h,0456h
②cs=0B70,ss=0B71,ds=0B6D
③data的段地址为X-0010h,stack的段地址为X-0010h
(4)
只有第三个程序是对的,因为其他两个程序的代码段是在后面,不指明入口的话会将数据段的数据当做错误的代码来执行。而第三个程序的代码段首先放在了栈段和数据段之前。
(5) assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
start:
mov ax,a
mov ds,ax
mov bx,0
mov cx,8
s:mov dx,0
add dx,ds:[bx]
add dx,ds:[bx+10h]
mov ds:[bx+20h],dx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
(6) assume cs:code
a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start:
mov ax,a
mov ds,ax
mov ax,b
mov ss,ax
mov sp,16
mov bx,0
mov cx,8
s:push ds:[bx]
add bx,2
loop s
mov bx,0
mov cx,8
s0:pop ds:[bx]
add bx,2
loop s0
mov ax,4c00h
int 21h
code ends
end start
①data段中的数据还是和原来一样
②cs=0B6F,ss=0B6E,ds=0B6D
③data的段地址为X-0012h,stack的段地址为X-0002h
程序返回前是不是指在执行到int 21h的时候
(2)
①data段中的数据为0123h,0456h
②cs=0B6F,ss=0B6E,ds=0B6D
③data的段地址为X-0012h,stack的段地址为X-0002h
④应该是所占字节数除以16取整加1,总体乘以16
(3)
①data段中的数据为0123h,0456h
②cs=0B70,ss=0B71,ds=0B6D
③data的段地址为X-0010h,stack的段地址为X-0010h
(4)
只有第三个程序是对的,因为其他两个程序的代码段是在后面,不指明入口的话会将数据段的数据当做错误的代码来执行。而第三个程序的代码段首先放在了栈段和数据段之前。
(5) assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
start:
mov ax,a
mov ds,ax
mov bx,0
mov cx,8
s:mov dx,0
add dx,ds:[bx]
add dx,ds:[bx+10h]
mov ds:[bx+20h],dx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
(6) assume cs:code
a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start:
mov ax,a
mov ds,ax
mov ax,b
mov ss,ax
mov sp,16
mov bx,0
mov cx,8
s:push ds:[bx]
add bx,2
loop s
mov bx,0
mov cx,8
s0:pop ds:[bx]
add bx,2
loop s0
mov ax,4c00h
int 21h
code ends
end start
评论次数(0) |
浏览次数(324) |
类型(汇编作业) |
收藏此文 |