第一题:1)data 段中的数据不变;
2)cs=146E,ss=146D,ds=146C
3)data=X-2 stack=X-1
第二题:1)0123h,0456h
2)cs=146e,ss=146d,ds=146c
3)data=x-2 stack=x-1
4)16个字节单元
第三题:0123h 0456h
2)cs=146c ss=1470 ds=146f
3) x+3 x+4
第四题: 第三个
第五题:
start: mov ax,b
...
- [tomato] 没问题。 04/11 00:01
- [tomato] 没问题。 03/29 23:56
- [tomato] 接着--->借助。 03/29 23:55
- [tomato] 内存单元不能直接向内存单元传送。需要接着寄存器。 03/29 23:54
- [tomato] 没问题。 03/23 00:44
- [hardstone] 是啊,是啊,都怪我看书不小心 03/22 12:13
- [tomato] 不管在任何系统下,正确的操作都应该是进入dos系统,然后,进入masm5.0目录下。 03/21 23:17
- [tomato] 这跟操作有关系,而跟系统无关吧?xp下操作是不是也会出现win7中出现的这种问题? 03/21 23:15
- [hardstone] 因为这个是我用来复习的啊,题目可以每天做呵呵! 03/17 09:58
- [tomato] 趁年轻,赶紧努力吧! 03/16 22:41
[2012-04-10 22:56] 实验五
阅读全文 |
评论次数(1) |
浏览次数(299) |
所属类型(汇编作业)
[2012-03-31 20:39] 第五章笔记(下)
5.5 loop 和【bx】的联合应用
领悟两个同一种方法:在实际编程中,经常会遇到,用同一种方法处理地址连续的内存单元的数据的问题,这个时候要用循环来解决这类问题。这句话包括俩个问题:1.用同一种方法处理连续的内存地址问题[bx],每循环一次bx+1/2;2.用同一种方法处理数据问题。通过下面问题领悟:
问题:计算ffff:0--ffff:b单元中的数据的和,结果存储在dx中。
(思路:同一种方法处理数据问题,将[0]赋值给ax,在通过ax加入到dx;同一种方法处理连续内存地址问题,每循环一次bx+1)
思考:我们到底怎样把ffff:0--ffff:b中的8...
领悟两个同一种方法:在实际编程中,经常会遇到,用同一种方法处理地址连续的内存单元的数据的问题,这个时候要用循环来解决这类问题。这句话包括俩个问题:1.用同一种方法处理连续的内存地址问题[bx],每循环一次bx+1/2;2.用同一种方法处理数据问题。通过下面问题领悟:
问题:计算ffff:0--ffff:b单元中的数据的和,结果存储在dx中。
(思路:同一种方法处理数据问题,将[0]赋值给ax,在通过ax加入到dx;同一种方法处理连续内存地址问题,每循环一次bx+1)
思考:我们到底怎样把ffff:0--ffff:b中的8...
阅读全文 |
评论次数(0) |
浏览次数(265) |
所属类型(默认类型)
[2012-03-30 21:01] 第五章笔记(上)
目录:5.1【bx】 5.2 loop 指令;
5.3 在debug中跟踪用loop指令实现循环程序;
5.4 在debug和汇编编译器masm对指令的不同处理;
5.5 loop指令和【bx】的联合应用;
5.6 段前缀;
5.7 一段安全的空间;
5.8 段前缀的使用
5.1 【bx】一般用在汇编源程序中,表示一个内存单元,
mov ax,[bx]---->表示把一个内存单元送入ax,这个内存单元长度为2个字节(字单元),段地址在ds中;
mov al,[bx]--->表示把一...
5.3 在debug中跟踪用loop指令实现循环程序;
5.4 在debug和汇编编译器masm对指令的不同处理;
5.5 loop指令和【bx】的联合应用;
5.6 段前缀;
5.7 一段安全的空间;
5.8 段前缀的使用
5.1 【bx】一般用在汇编源程序中,表示一个内存单元,
mov ax,[bx]---->表示把一个内存单元送入ax,这个内存单元长度为2个字节(字单元),段地址在ds中;
mov al,[bx]--->表示把一...
阅读全文 |
评论次数(0) |
浏览次数(296) |
所属类型(默认类型)
[2012-03-29 23:36] 实验4
编程:向内存0:200~0:23f依次传送数据0~63(3f)
assume cs:abc
abc segment
start: mov ax,20h
mov ds,ax
mov bx,0
mov cx,64
s: mov ds:[bx],bl
inc bx
loop s
mov ax,4c00h
int 21h
abc ends
end start
(3),cs,17...
assume cs:abc
abc segment
start: mov ax,20h
mov ds,ax
mov bx,0
mov cx,64
s: mov ds:[bx],bl
inc bx
loop s
mov ax,4c00h
int 21h
abc ends
end start
(3),cs,17...
阅读全文 |
评论次数(1) |
浏览次数(342) |
所属类型(汇编作业)
[2012-03-29 23:01] 第五章5.8自己的一个错误
题目:把内存ffff:0~ffff:b单元中的数据复制到0:200~0:20b 单元中?
assume cs:code
code segment
mov ax,0ffffh
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,12
s:mov es:{bx],ds:[bx}
inc bx
loop s
...
end
错误在哪里???
(1)mov指令不支持内存到内存的传输;(2)这样写,没有知名ds:[bx],es:...
assume cs:code
code segment
mov ax,0ffffh
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,12
s:mov es:{bx],ds:[bx}
inc bx
loop s
...
end
错误在哪里???
(1)mov指令不支持内存到内存的传输;(2)这样写,没有知名ds:[bx],es:...
阅读全文 |
评论次数(2) |
浏览次数(334) |
所属类型(默认类型)
[2012-03-22 13:45] 第四章笔记
4.1 一个源程序学出到执行的过程
源程序文件(.asm)-----目标文件(.obj)-----可执行文件(.exe)
思考什么是源程序文件?什么是可执行文件?什么是目标文件
4.2源程序 编写,结构,错误
1.伪指令---由编译器来执行的指令,编译器根据伪指令来指导编译工作。
掌握:(1)段 xxx segment
xxx ends
作用?xxx---表示段的名称
这里的段和以前的段的概念相一致;一个程序包括多个段组成,有代码段,数据段,栈段之分,各个段可用上述格式划分开来。 ...
源程序文件(.asm)-----目标文件(.obj)-----可执行文件(.exe)
思考什么是源程序文件?什么是可执行文件?什么是目标文件
4.2源程序 编写,结构,错误
1.伪指令---由编译器来执行的指令,编译器根据伪指令来指导编译工作。
掌握:(1)段 xxx segment
xxx ends
作用?xxx---表示段的名称
这里的段和以前的段的概念相一致;一个程序包括多个段组成,有代码段,数据段,栈段之分,各个段可用上述格式划分开来。 ...
阅读全文 |
评论次数(0) |
浏览次数(256) |
所属类型(默认类型)
[2012-03-22 13:07] 实验三
(1)生成 t1.exe
(2)debug t1.exe 以下均是16进制数
ax bx cs:ip ds ss:sp
2000 0 1467:3 1457 1467:0
2000 0 1467:8 - 2000:0
2000 0 1467:b - 2000:a
0 0 1467:c - 2000:c
0 0 1467:d ...
(2)debug t1.exe 以下均是16进制数
ax bx cs:ip ds ss:sp
2000 0 1467:3 1457 1467:0
2000 0 1467:8 - 2000:0
2000 0 1467:b - 2000:a
0 0 1467:c - 2000:c
0 0 1467:d ...
阅读全文 |
评论次数(1) |
浏览次数(352) |
所属类型(汇编作业)
[2012-03-20 21:03] win7和masm 5.0不兼容如何解决!!
学习中遇到困难,如题,改怎么搞??
问题如下:鼠标点击打开masm5.0出现窗口后,输入文件名后自动关闭。
32位的win7是支持masm 5.0的。64位的不支持
问题解决:解决方案如下:要先加载CMD
用运行命令运行cdm.exe
再在DOS模式下运行masm5.0.....
问题如下:鼠标点击打开masm5.0出现窗口后,输入文件名后自动关闭。
32位的win7是支持masm 5.0的。64位的不支持
问题解决:解决方案如下:要先加载CMD
用运行命令运行cdm.exe
再在DOS模式下运行masm5.0.....
阅读全文 |
评论次数(3) |
浏览次数(547) |
所属类型(汇编作业)
[2012-03-16 20:57] 栈的综述,段的综述
栈的综述:1、PUSH指令的执行步骤;POP指令的执行步骤;
2、任意时刻SS:SP指向栈顶空间,CPU只记录栈顶,栈空间需要我们自己管理;
3、用栈来暂存以后需要恢复的寄存器内容时,寄存器出栈的顺序要和入栈的顺序相反;
4、POP、PUSH 本质是内存传送指令,PUSH和MOV指令的区别?POP和MOV 指令的区别?
段的综述:1、CPU将内存中的某段内容当作代码,是因为CS:IP指向了那里;CPU把某段内存当作栈,是因为SS:SP指向了那里;CPU把某段内存[0]当做数据,是因为DS指向了那里。
2、...
2、任意时刻SS:SP指向栈顶空间,CPU只记录栈顶,栈空间需要我们自己管理;
3、用栈来暂存以后需要恢复的寄存器内容时,寄存器出栈的顺序要和入栈的顺序相反;
4、POP、PUSH 本质是内存传送指令,PUSH和MOV指令的区别?POP和MOV 指令的区别?
段的综述:1、CPU将内存中的某段内容当作代码,是因为CS:IP指向了那里;CPU把某段内存当作栈,是因为SS:SP指向了那里;CPU把某段内存[0]当做数据,是因为DS指向了那里。
2、...
阅读全文 |
评论次数(2) |
浏览次数(379) |
所属类型(默认类型)
[2012-03-16 20:29] 第三章目录和问题(下)
主要是便于自己回忆书本内容和记忆,没看书这么乱。当做日记也可以呵呵,我要加油,不能懒惰啊!!
3.6 栈
栈的特殊之处在于LIFO(first in last out),一个盒子和三本书的故事:从程序化的角度:应该有一个标记,始终指示着盒子最上面的书(SS:SP)
3.7 CPU提供的栈机制
1.一个很重要的基础:栈的操作对象都是以字为单位进行的。
所以PUSH al,是错误的。。。
2. 图3.99(p58) 以10000-1000f这段内存当栈来使用
执行如下指令:mov ax,0123
push a...
3.6 栈
栈的特殊之处在于LIFO(first in last out),一个盒子和三本书的故事:从程序化的角度:应该有一个标记,始终指示着盒子最上面的书(SS:SP)
3.7 CPU提供的栈机制
1.一个很重要的基础:栈的操作对象都是以字为单位进行的。
所以PUSH al,是错误的。。。
2. 图3.99(p58) 以10000-1000f这段内存当栈来使用
执行如下指令:mov ax,0123
push a...
阅读全文 |
评论次数(1) |
浏览次数(392) |
所属类型(默认类型)
『 查看更多文章 』