- [tomato] 第二个改对了,第三个还不太对哦! 12/08 08:41
- [fish_u] 2、 assume cs:code code segment mov ax,0 12/07 17:48
- [tomato] 这就对了。要养成一个多试验求证结果的习惯。 11/26 23:16
- [fish_u] 学生错了,没有认真实验,比对编译后代码。 把mov ax,code改为mov ax,start后 11/26 11:29
- [tomato] 第一题是一个细小的问题,运行看不出,提示一下,对字节操作应该用8位寄存器,16位寄存器会覆盖其它内存 11/25 19:16
- [tomato] 计算机最忌讳的是懒了! 11/25 19:01
- [tomato] “1、不清楚对错 ”不清楚对错的可以实验一下啊! 11/25 19:00
- [fish_u] 运行没有发现什么问题啊? 11/25 13:27
- [tomato] 路过! 11/24 20:23
- [tomato] 是的。 11/24 20:22
[2012-04-21 14:24] 关于进制转换,补码,负数的表示
关于进制转换,补码,负数的表示...
阅读全文 |
评论次数(0) |
浏览次数(521) |
所属类型(监测点)
[2011-11-25 15:53] 第五章检测题 解析
1、在Intel8086环境下,对指令mov ax,[bx]描述错误的__4___。
1、 指令中,源操作数的段地址默认为ds中的内容
2、 指令中,源操作数的偏移地址为bx中的内容
3、 指令执行后,(al)=((ds)*16+(bx)),(ah)=((ds)*16+(bx)+1)
4、指令执行后,((ds)*16+(bx))=(al),((ds)*16+(bx)+1)=(ah)
-------------------------------------------------------
解析:mov ax,[bx] 是把ds:[bx]中的内容给ax,...
1、 指令中,源操作数的段地址默认为ds中的内容
2、 指令中,源操作数的偏移地址为bx中的内容
3、 指令执行后,(al)=((ds)*16+(bx)),(ah)=((ds)*16+(bx)+1)
4、指令执行后,((ds)*16+(bx))=(al),((ds)*16+(bx)+1)=(ah)
-------------------------------------------------------
解析:mov ax,[bx] 是把ds:[bx]中的内容给ax,...
阅读全文 |
评论次数(4) |
浏览次数(908) |
所属类型(监测点)
[2011-11-24 18:48] 实验四 [bx]和loop的使用 解析
2、
assume cs:code
code segment
mov ax,0020h
mov ds,ax
mov cx,64
mov bx,0
s:mov ds:[bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
3、
assume cs:code
code segment
mov ax,cs
mov ds,ax
mov ax,0020h
mov es,ax
...
assume cs:code
code segment
mov ax,0020h
mov ds,ax
mov cx,64
mov bx,0
s:mov ds:[bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
3、
assume cs:code
code segment
mov ax,cs
mov ds,ax
mov ax,0020h
mov es,ax
...
阅读全文 |
评论次数(5) |
浏览次数(910) |
所属类型(实验)
[2011-11-24 17:40] 5.5-5.8
1、用同一种方法处理地址连续的内存单元中的数据时,可以用变量[idata]代替常量[0],[1]...用循环访问。
2、用于显式的指明内存单元的段地址的"ds”“cs”“ss”“es”在汇编语言中称为段前缀。 mov ax,cs:[0]
3、一般PC机中,dos方式下,dos和其他合法的程序一般都不会使用
0:200~0~2ff(00200h-002ffh)的256个字节的空间。最好是用debug查看下这段空间的内容是否为0....
2、用于显式的指明内存单元的段地址的"ds”“cs”“ss”“es”在汇编语言中称为段前缀。 mov ax,cs:[0]
3、一般PC机中,dos方式下,dos和其他合法的程序一般都不会使用
0:200~0~2ff(00200h-002ffh)的256个字节的空间。最好是用debug查看下这段空间的内容是否为0....
阅读全文 |
评论次数(1) |
浏览次数(1030) |
所属类型(章节摘要)
[2011-11-24 16:44] 第五章 [BX]和LOOP 指令-5.4
1、完整的描述一个内存单元,需要2种信息:①内存单元的地址②内存单元的长度(类型)。
2、mov ax,[bx]
将一个内存单元的内容送入ax,这个内存单元的长度为2字节(字单元),存放一个字,偏移地址在bx中,段地址在ds中。
mov al,[bx]
将一个内存单元的内容送入al,这个内存单元的长度为1字节(字节单元),存放一个字节,偏移地址在bx中,段地址在ds中。
3、用“()”表示一个寄存器或一个内存单元的内容。
()中的元素有3中,寄存器名,段寄存器名,内存单元的物理地址。
例如:(ax)=(ax)+(bx)
4、“(X)”所表示的数据有2种类型:...
2、mov ax,[bx]
将一个内存单元的内容送入ax,这个内存单元的长度为2字节(字单元),存放一个字,偏移地址在bx中,段地址在ds中。
mov al,[bx]
将一个内存单元的内容送入al,这个内存单元的长度为1字节(字节单元),存放一个字节,偏移地址在bx中,段地址在ds中。
3、用“()”表示一个寄存器或一个内存单元的内容。
()中的元素有3中,寄存器名,段寄存器名,内存单元的物理地址。
例如:(ax)=(ax)+(bx)
4、“(X)”所表示的数据有2种类型:...
阅读全文 |
评论次数(1) |
浏览次数(910) |
所属类型(章节摘要)
[2011-11-19 17:31] 实验3 编程、编译、连接、跟踪
1、cmd下edit 编辑源程序 另存为t1.asm
masm c:\t1;
link t1;
生成t1.exe
2、debug t1.exe
mov ax,2000h ax=2000,ip=3,cx=16,sp=0000、ds=0baf
mov ss,ax ss=2000,sp=0,ip=8
mov sp,0
add sp,10 sp=000a,ip=000b
-------------------------------------------------------
POP区为 0baf:0~0bbf:0 ...
masm c:\t1;
link t1;
生成t1.exe
2、debug t1.exe
mov ax,2000h ax=2000,ip=3,cx=16,sp=0000、ds=0baf
mov ss,ax ss=2000,sp=0,ip=8
mov sp,0
add sp,10 sp=000a,ip=000b
-------------------------------------------------------
POP区为 0baf:0~0bbf:0 ...
阅读全文 |
评论次数(1) |
浏览次数(640) |
所属类型(实验)
[2011-11-17 20:58] 第四章4.3-4.9
1、编辑源程序
在DOS下使用EDIT编辑。
编辑过程中注意事项:
①另存为.ASM文件。
②注意结构对齐,便于检查错误。
③不要忘了数据后的格式(H),要不会出现severe errors.导致生成目标文件失败
2、编译过程。
①进入DOS运行MASM.EXE
②输入要编辑的源程序文件名后,按ENTER
③确认目标文件夹名称后,提示输入:列表文件名称。
④编译程序提示输入:交差引用文件名称。
⑤最后屏幕确认没有警告和错误。
3、得不到目标文件的错误。
程序中有“severe errors”出现。
找不到所给出的源程序文件。
4、编译过程中,有一个输入(源...
在DOS下使用EDIT编辑。
编辑过程中注意事项:
①另存为.ASM文件。
②注意结构对齐,便于检查错误。
③不要忘了数据后的格式(H),要不会出现severe errors.导致生成目标文件失败
2、编译过程。
①进入DOS运行MASM.EXE
②输入要编辑的源程序文件名后,按ENTER
③确认目标文件夹名称后,提示输入:列表文件名称。
④编译程序提示输入:交差引用文件名称。
⑤最后屏幕确认没有警告和错误。
3、得不到目标文件的错误。
程序中有“severe errors”出现。
找不到所给出的源程序文件。
4、编译过程中,有一个输入(源...
阅读全文 |
评论次数(3) |
浏览次数(675) |
所属类型(章节摘要)
[2011-11-17 17:42] 第四章 第一个程序
1、一个源程序从写出到执行的过程?
①编写汇编源程序。
使用文本编辑器,用汇编语言编写汇编源程序。
②对源程序进行编译连接。
使用编译程序,对源程序进行编译,产生目标文件;
在用连接程序对目标文件进行连接,生成可执行文件。
③执行可执行文件
可执行文件包含两部分内容
a,程序(源程序中汇编指令翻译过来的机器码)和数据(源程序中定义的数据)。
b,相关描述信息
2、源程序包含两种指令,汇编指令和伪指令。
3、segment和ends是一对成对使用的伪指令,必须用到的伪指令,用来定义一个段。
4、end是一个汇编程序的结束标记。
5、a...
①编写汇编源程序。
使用文本编辑器,用汇编语言编写汇编源程序。
②对源程序进行编译连接。
使用编译程序,对源程序进行编译,产生目标文件;
在用连接程序对目标文件进行连接,生成可执行文件。
③执行可执行文件
可执行文件包含两部分内容
a,程序(源程序中汇编指令翻译过来的机器码)和数据(源程序中定义的数据)。
b,相关描述信息
2、源程序包含两种指令,汇编指令和伪指令。
3、segment和ends是一对成对使用的伪指令,必须用到的伪指令,用来定义一个段。
4、end是一个汇编程序的结束标记。
5、a...
阅读全文 |
评论次数(1) |
浏览次数(656) |
所属类型(章节摘要)
[2011-11-15 21:06] 检测题第1单元
1、在一段没有任何跳转指令的程序中,超出64K的部分将不会被执行。正确的
解析:mov 指令不能设置CS、IP的值。在CPU执行的过程中是需要段地址的,没有跳转指令 可以说段地址是不变的。
2、传送指令能够更改所有通用寄存器的内容。正确的
书2.1中:AX,BX,CX,DX这4个寄存器用来存储一般的数据被称为通用寄存器。
而CS为代码段寄存器,IP为指令指针寄存器。
3、一条指令被执行后,IP的值进行改变。错误
一条指令被读取后,IP的值会改变,执行后不一定会改变。
4、CPU将CS:IP所指向的内存单元中的数据当作指令来执行 正确
...
解析:mov 指令不能设置CS、IP的值。在CPU执行的过程中是需要段地址的,没有跳转指令 可以说段地址是不变的。
2、传送指令能够更改所有通用寄存器的内容。正确的
书2.1中:AX,BX,CX,DX这4个寄存器用来存储一般的数据被称为通用寄存器。
而CS为代码段寄存器,IP为指令指针寄存器。
3、一条指令被执行后,IP的值进行改变。错误
一条指令被读取后,IP的值会改变,执行后不一定会改变。
4、CPU将CS:IP所指向的内存单元中的数据当作指令来执行 正确
...
阅读全文 |
评论次数(1) |
浏览次数(677) |
所属类型(监测点)
[2011-11-15 18:04] 检测题第3章
①、能够将ax中的内容送到内存0000:0200H处的指令序列是_4___。
1、 mov ds,0
mov bx,200h //DS 不可以直接赋值 MOV DS AX
mov [bx],ax
2、 mov ax,200h //2000:0
mov ds,ax
mov bx,0
mov [bx],ax
3、 mov ax,20h AX值修改了
mov ds,ax
mov bx,0
mov [bx],ax
4、 mov bx,20h...
1、 mov ds,0
mov bx,200h //DS 不可以直接赋值 MOV DS AX
mov [bx],ax
2、 mov ax,200h //2000:0
mov ds,ax
mov bx,0
mov [bx],ax
3、 mov ax,20h AX值修改了
mov ds,ax
mov bx,0
mov [bx],ax
4、 mov bx,20h...
阅读全文 |
评论次数(1) |
浏览次数(582) |
所属类型(监测点)
『 查看更多文章 』