汇编网首页登录博客注册
e56004474的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言

[2012-05-24 11:02] 题9.20

原题是: 
1.请编写一个既适合于8086/8088又适合于80386的宏,该宏实现两个32位存储器操作数相加,结果存入第三个32位存储器操作数; 

2.请编写一个既适合于8086/8088又适合于80386的宏,该宏求存放在DX:AX的32位数的补码; 

3.请编写一个既适合于8086/8088又适合于80386的宏,调用该宏可分别再定义实现由常数指定移位位数的各种移位指令。 

"编写既适合于8086/8088又适合于80386的宏 "这个怎们在宏中体现?


;x8086_88 equ 1 
;x80386 equ 1 

madd macro a,b,c ...
阅读全文 | 评论次数(0) | 浏览次数(355) | 所属类型(80x86汇编语言程序设计教程(杨季文))

[2012-05-24 10:42] 题9.19

如何用一条指令重新设置80386的堆栈指针。

lss sp,ssptr

ssptr是含有堆栈指针的双字。...
阅读全文 | 评论次数(0) | 浏览次数(293) | 所属类型(80x86汇编语言程序设计教程(杨季文))

[2012-05-23 13:47] 题9.16

从80186开始,push指令的操作数可以是立即数。什么情况下这很有用?

答:
在调用通过堆栈传递入口参数的子程序时,把立即数直接压入堆栈的操作能方便地把常量作为参数传递给子程序。...
阅读全文 | 评论次数(0) | 浏览次数(309) | 所属类型(80x86汇编语言程序设计教程(杨季文))

[2012-05-22 11:05] 10.2.4 段选择子

page:371
选择自描述符的索引用13位表示,2的13次方是8192,可为什么书上说可分8096个描述符???   

求正解。。。...
阅读全文 | 评论次数(1) | 浏览次数(620) | 所属类型(80x86汇编语言程序设计教程(杨季文))

[2012-05-21 16:54] 10.2 分段管理机制

数据段的扩展方向和段界限一起决定了数据段内偏移的有效范围。当段最大为1M字节时,在向高端扩展的段内,从0到Limit的偏移是合法有效的偏移,而从Limit+1到1M-1的偏移是非法无效的偏移;在向低端扩展的段内,情形刚好相反,从0到Limit的偏移是非法无效的偏移,而从Limit+1到1M-1的偏移是合法有效的偏移,注意边界值Limit对应地址的有效性。

Limit的中文意思:“n.界限,   限度,   限制   vt.限制,   限定”来自金山词霸,Limit的准确含义是“长度”,个人理解。 

解释: 
有一个段,假设段首地址就是2000H,Limit是200。 

1....
阅读全文 | 评论次数(0) | 浏览次数(306) | 所属类型(80x86汇编语言程序设计教程(杨季文))

[2012-05-15 15:02] 第八章 t8-2.asm 例子。

dseg segment para common
mess db 'hello',0dh,0ah,'$'
dseg ends

cseg segment  public
        assume cs:cseg,ds:dseg
start: mov ax,dseg
        mov ds,ax
        
        nop
        mov dx,offset mess
        mov ah,9
        int 21h
        mov ax,4c00h
        int 21h
cseg ends
end start
=======================================================...
阅读全文 | 评论次数(2) | 浏览次数(314) | 所属类型(80x86汇编语言程序设计教程(杨季文))

[2012-05-04 12:08] 题7.23

设程序中有8个标号,分别为next1,next2....next8,请利用重复汇编的方法定义由上述8个标号构成的散转表,每项由段值和偏移构成。

table label byte
irp x,<1,2,3,4,5,6,7,8>
db next&x
endm



table label byte
irpc x,123456789
db next&x
endm...
阅读全文 | 评论次数(0) | 浏览次数(267) | 所属类型(80x86汇编语言程序设计教程(杨季文))

[2012-05-04 11:27] 题7.21

请利用重复汇编的方法定义一个缓冲区。缓冲区有100双字构成,每个双字的高字部份的初值依次是2,4,6....200,低字部份的初值问题0。

=======================================================
   char=0
       CODES  SEGMENT
    TABLE_A1  LABEL     WORD        ;按要求,此处可略
              REPT      10
              DW        0
              DW        CHAR
    ...
阅读全文 | 评论次数(1) | 浏览次数(285) | 所属类型(80x86汇编语言程序设计教程(杨季文))

[2012-05-01 14:44] 题7.19

请编写一个用2位十六进制数显示al内容的宏。该宏调用已经定义的宏htoasc和宏echo.宏htoasc把1位十六进制数转换成对应的ascii码,宏echo显示字符。
=======================================================
;---------------------------
htoasc macro 
        local xyz
        and al,0fh
        cmp al,10d
        jb lable_a
        add al,1
        daa        
    xyz:
        adc al,30h
        daa
        endm

htoasc...
阅读全文 | 评论次数(0) | 浏览次数(297) | 所属类型(80x86汇编语言程序设计教程(杨季文))

[2012-05-01 13:26] 题7.16  请编写一个清除键盘缓冲区的宏。

xxx macro
 KEY-FOUND:
     MOV      AH ,        6h
     MOV      DL ,        0FFh
     INT         21h
     JNZ         KEY-FOUND
        endm

;---------------------------
xxx2 macro
local again_s,ok_s

again_s:
mov ah,1
int 16h
jz ok_s
mov ah,0
int 16h
jmp again_s
ok_s:
nop
        endm...
阅读全文 | 评论次数(0) | 浏览次数(253) | 所属类型(80x86汇编语言程序设计教程(杨季文))
页码数(4):  1  2  3  4