下列说法中正确的是______。
1、 当数据的标号不在代码段时,只要用assume伪指令将数据段和相应的段寄存器连接起来就可以了。
2、 数据标号和地址标号唯一的区别就是,数据标号既表示内存单元的地址,还表示内存单元的长度,而地址标号只表示内存单元的地址。
3、 直接定址表只可以存储数据的地址,不可以存储程序段的地址。
4、 在中断服务程序用到直接定址表时,和不在中断服务程序的使用一样,直接调用即可。
-------------
分析:
1.错。还需要把具体的段地址送到相应的段寄存器中。
2.错。至少还有一点不同:见书p278页,地址标号只能在...
- [游客] 懂了,太有技巧了,又找到编程方向了,多谢楼主! 10/20 22:50
- [游客] 有帮助,谢了:) 10/29 11:28
- [游客] 解释的和详细啊 09/20 20:39
- [游客] 非常的详细,基本新手一看也就能了解到了。。其中还讲了PSP占用256字节,用实际情况巩固了前面的知识 12/27 22:35
- [游客] 分析的很……很细!鼓励 09/21 11:21
- [vvfire] 学习了 04/12 22:14
- [c_losed] 第3题 mov cx,23 08/07 23:35
- [游客] 多谢楼主,以后还请多多指教 05/03 22:23
- [游客] 非常仔细!分析得非常到位! 11/30 11:52
- [maxm] 我先收藏 03/22 17:52
- [skyleiou] 谢谢你的鼓励,你的鼓励也让我看到了现在网站里还有人~~~ 06/14 20:12
- [hihi] 不好意思,最近有事没来。刚去看了一下,已经有人回答了 04/22 09:40
- [w0922] 你好 !能不能到我的博客看哈 有个问题想请教哈你··· 就是我博客实验十分析的那个问题 04/18 15:19
[2008-04-17 17:37] [求助]第16章的一道检测题的选项有疑惑
阅读全文 |
评论次数(2) |
浏览次数(1267) |
所属类型(错题集锦)
[2008-04-17 17:13] 实验17 编写包含多个功能子程序的中断例程
需要说明一下的是:这个实验我没经过测试,因为条件有限(都是在网吧做的)。
估计课程设计2也是无法正常完成了,感觉很遗憾,以后有机会的话,一定补上。
只能给出安装程序代码:
----------------------------------------------------------------------------------------
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start :
mov ax,s...
估计课程设计2也是无法正常完成了,感觉很遗憾,以后有机会的话,一定补上。
只能给出安装程序代码:
----------------------------------------------------------------------------------------
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start :
mov ax,s...
阅读全文 |
评论次数(2) |
浏览次数(1205) |
所属类型(汇编作业)
[2008-04-16 14:39] 实验16 编写包含多个功能子程序的中断例程
分析:
采用两种方法:
方法一:查表。
充分体会数据标号作用,为此,调整了安装程序的结构,把需要安装的数据放在前面,感觉这样更容易理解些。
方法二:比较。
用通过比较功能号进行转移的方法,可能很多人不屑于这个方法,但对于这个小实验而言程序结构也很清晰。
(当然如果用这个方法,就失去了在本章做这个实验的意义,放在前面几章也可以做出来的。)
---------------------------------------方法一:查表-----------------------------------
assume cs:code
code segment
setscree...
采用两种方法:
方法一:查表。
充分体会数据标号作用,为此,调整了安装程序的结构,把需要安装的数据放在前面,感觉这样更容易理解些。
方法二:比较。
用通过比较功能号进行转移的方法,可能很多人不屑于这个方法,但对于这个小实验而言程序结构也很清晰。
(当然如果用这个方法,就失去了在本章做这个实验的意义,放在前面几章也可以做出来的。)
---------------------------------------方法一:查表-----------------------------------
assume cs:code
code segment
setscree...
阅读全文 |
评论次数(1) |
浏览次数(1393) |
所属类型(汇编作业)
[2008-04-15 16:22] 检测点16.2
assume cs:code,es:data
data segment
a db 1,2,3,4,5,6,7,8
b dw 0
data ends
code segment
start:
mov ax,data ;填写部分
mov es,ax ;
mov si,0
mov cx,8
s:
mov al,a[si]
mov ah,0
add b,ax
inc si
loop s
mov ax,4c00h
int 21h
code ends
end start
---------...
data segment
a db 1,2,3,4,5,6,7,8
b dw 0
data ends
code segment
start:
mov ax,data ;填写部分
mov es,ax ;
mov si,0
mov cx,8
s:
mov al,a[si]
mov ah,0
add b,ax
inc si
loop s
mov ax,4c00h
int 21h
code ends
end start
---------...
阅读全文 |
评论次数(1) |
浏览次数(1176) |
所属类型(汇编作业)
[2008-04-15 16:16] 检测点16.1
---------------------------------方法一-------------------------------------
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start:
mov si,0
mov cx,8
s:
mov ax,a[si]
add word ptr b[0],ax ;需要指明长度
adc word ptr b[2],0 ;
add si,2
loop s
mov ax,4c00h
int 21h
c...
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start:
mov si,0
mov cx,8
s:
mov ax,a[si]
add word ptr b[0],ax ;需要指明长度
adc word ptr b[2],0 ;
add si,2
loop s
mov ax,4c00h
int 21h
c...
阅读全文 |
评论次数(1) |
浏览次数(1188) |
所属类型(汇编作业)
[2008-04-14 15:07] 实验15 安装新的int 9中断例程
;不加上分析了,和书上的例题差不多的。
;--------------------安装程序代码如下-------------------
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,128
;------------------------ds:si指向数据源---------------------------------
push cs
pop ds
mov si,offs...
;--------------------安装程序代码如下-------------------
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,128
;------------------------ds:si指向数据源---------------------------------
push cs
pop ds
mov si,offs...
阅读全文 |
评论次数(1) |
浏览次数(1239) |
所属类型(汇编作业)
[2008-04-14 14:45] 检测点15.1
(1)
可以精简为:
pushf
call dword ptr ds:[0]
简单分析:
在调用新int9中断例程的过程中调用老的int 9中断例程。
在调用新int9中断例程的时候,IF和TF都已经设置为0,所以没有必要再进行设置了。
另外,对于pushf,虽然,在调用新int9的时候也保存了标志寄存器的值,但即使接下来的指令对标志寄存器无影响,pushf也不能省去。因为是用call调用老int 9,而老int 9用iret返回的,如果少了这句,栈操作不平衡,老int 9就无法正常返回到新int9了。
-------------------------------------...
可以精简为:
pushf
call dword ptr ds:[0]
简单分析:
在调用新int9中断例程的过程中调用老的int 9中断例程。
在调用新int9中断例程的时候,IF和TF都已经设置为0,所以没有必要再进行设置了。
另外,对于pushf,虽然,在调用新int9的时候也保存了标志寄存器的值,但即使接下来的指令对标志寄存器无影响,pushf也不能省去。因为是用call调用老int 9,而老int 9用iret返回的,如果少了这句,栈操作不平衡,老int 9就无法正常返回到新int9了。
-------------------------------------...
阅读全文 |
评论次数(1) |
浏览次数(1088) |
所属类型(汇编作业)
[2008-04-13 17:27] 实验14 访问CMOS ROM
简单分析:
在CMOS ROM中存放有:
秒:0 分:2 时:4 日:7 月:8 年:9
看到这个就有点郁闷了,想找点规律一个循环搞定,结果发现没那能力。有6个数据,一个一个处理,又点不甘心。
两难之下,决定分两次处理(总算有一点规律):
先处理年月日,再处理时分秒。
两部分都使用到了子程序:changeBCD
显示部分,本来可以自己处理的,但考虑到以前已经写过几次了,直接调用中断得了。
;---------------------------------代码如下------------------------------------------...
在CMOS ROM中存放有:
秒:0 分:2 时:4 日:7 月:8 年:9
看到这个就有点郁闷了,想找点规律一个循环搞定,结果发现没那能力。有6个数据,一个一个处理,又点不甘心。
两难之下,决定分两次处理(总算有一点规律):
先处理年月日,再处理时分秒。
两部分都使用到了子程序:changeBCD
显示部分,本来可以自己处理的,但考虑到以前已经写过几次了,直接调用中断得了。
;---------------------------------代码如下------------------------------------------...
阅读全文 |
评论次数(1) |
浏览次数(1130) |
所属类型(汇编作业)
[2008-04-13 17:16] 检测点14.2
-------------------------代码如下-------------------------------------------------
assume cs:code
code segment
start:
mov ax,10
shl ax,1
mov bx,ax
mov cl,2 ;前面已经左移一次了。
shl ax,cl
add ax,bx
mov ax,4c00h
int 21h
code ends
end start
---------------------------跟踪...
assume cs:code
code segment
start:
mov ax,10
shl ax,1
mov bx,ax
mov cl,2 ;前面已经左移一次了。
shl ax,cl
add ax,bx
mov ax,4c00h
int 21h
code ends
end start
---------------------------跟踪...
阅读全文 |
评论次数(1) |
浏览次数(1059) |
所属类型(汇编作业)
[2008-04-13 17:15] 检测点14.1
(1)
------------------------代码如下--------------------------------------------------
assume cs:code
code segment
start:
mov al,2
out 70h,al
in al,71h
mov ax,4c00h
int 21h
code ends
end start
--------------------------跟踪一下-------------------------------------------------
D:\MASM>de...
------------------------代码如下--------------------------------------------------
assume cs:code
code segment
start:
mov al,2
out 70h,al
in al,71h
mov ax,4c00h
int 21h
code ends
end start
--------------------------跟踪一下-------------------------------------------------
D:\MASM>de...
阅读全文 |
评论次数(1) |
浏览次数(1051) |
所属类型(汇编作业)
『 查看更多文章 』