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

我的博客

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

[2008-09-10 21:45] 实验10.3

3.数值显示

3.数值显示

assume cs:code
data segment
  db 10 dup (0)
data ends
code segment
satrt: mov ax,12666
       mov bx,data
       mov ds,bx
       mov si,0
       call dtoc
  
       mov dh,8
       mov dl,3
       mov cl,2
       mov si,0
       call show_str

       mov ax,4c00...
阅读全文 | 评论次数(1) | 浏览次数(505) | 所属类型(汇编作业)

[2008-09-10 20:37] 实验10.2

2.解决除法溢出的问题

assume cs:code
code segment
start: mov ax,4240h
       mov dx,000fh
           mov cx,0Ah
           call divdw
           
           mov ax,4c00h
           int 21h

;名称:divdw
;功能:进行不会产生溢出的除法运算,被除数为dword型,除数为word型,结果为dword型
;参数:(ax)= dword型数据的低16位,(dx)= dword型数据的高16位,(cx)= 除数
;返回:(dx)=结果的高16位,(ax)=结果的低16...
阅读全文 | 评论次数(1) | 浏览次数(523) | 所属类型(汇编作业)

[2008-09-10 19:38] 实验10.1

1.显示字符串

assume cs:code
data segment
   db 'Welcome to masn!',0
data ends

code segment
start: mov dh,8
       mov dl,3
       mov cl,2
       mov ax,data
       mov ds,ax
       mov si,0
       call show_str

       mov ax,4c00h
       int 21h


;名称: show_str
;功能:在指定的位置,用指定的颜色,...
阅读全文 | 评论次数(1) | 浏览次数(511) | 所属类型(汇编作业)

[2008-08-31 16:58] 检测点10.5

(1)下面的程序执行后,ax中的数值为多少?(注意:用call指令的原理来分析,不要在debug中单步跟踪来验证你的结论。对于此程序,在Debug中单步跟踪的结果,不能代表CPU的实际执行结果)

assume cs:code
stack segment
  dw 8 dup (0)
stack ends
code segment
  start: mov stack
         mov ss,ax
         mov sp,16
         mov ds,ax
         mov ax,0
         call word ptr ds:[...
阅读全文 | 评论次数(1) | 浏览次数(436) | 所属类型(汇编作业)

[2008-08-31 15:58] 检测点10.4

下面的程序执行后,ax中的数值为多少?
内存地址 机器码   汇编指令
1000:0   b8 06 00   mov ax,6
1000:2   ff d0      call ax
1000:5   40         inc ax
1000:6              mov bp,sp
                    add ax,[bp]

解:
ax = 000bH

程序执行call ax前,CS:IP指向1000:5
执行后,IP入栈。
执行add ax,[bp]后,ax = 000bH...
阅读全文 | 评论次数(1) | 浏览次数(433) | 所属类型(汇编作业)

[2008-08-31 15:43] 检测点10.3

下面的程序执行后,ax中的数值为多少?
内存地址   机器码       汇编指令
1000:0          b8 00 00              mov ax,0
1000:3          9A 09 00 00 10        call far ptr s
1000:8          40                    inc ax
1000:9          58                 s: pop ax
                                      add ax,ax
             ...
阅读全文 | 评论次数(1) | 浏览次数(410) | 所属类型(汇编作业)

[2008-08-31 15:22] 检测点10.2

下面的程序执行后,ax中的数值为多少?

内存地址   机器码     汇编指令
1000:0   b8 00 00      mov ax,0
1000:3     e8 01 00      call s
1000:6     40            inc ax
1000:7     58         s: pop ax

解:
ax = 6

程序执行call s前IP的值为6,因为CPU执行“call 标号”时:
(1)(sp)=(sp)-2
     ((ss)*16+(sp))=(IP)
(2)(IP)=(IP)+16位位移

IP的值入栈...
阅读全文 | 评论次数(1) | 浏览次数(524) | 所属类型(汇编作业)

[2008-08-31 14:56] 检测点10.1

补全程序,实现从内存1000:0000处开始执行指令。
assume cs:code

stack segment
  db 16 dup (0)
stack ends

code segment
start: mov ax,stack
       mov ss,ax
       mov sp,16
       mov ax,1000H    ;此处为填入位置
       push ax
       mov ax,0H    ;此处为填入位置
       push ax
       retf
code ends
end start...
阅读全文 | 评论次数(1) | 浏览次数(508) | 所属类型(汇编作业)

[2008-08-28 17:15] 实验9

在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串‘welcome to masm!’

解:

data segment
   db 'welcome to masm!'
data ends

code segment
start: mov ax,0B800H
       mov es,ax
    mov si,11*160+64    ;在第12行中间显示
           
    mov ax,data
    mov ds,ax
    mov bx,0
           
    mov cx,16
  s: mov al,ds:[bx]

        mov es:...
阅读全文 | 评论次数(2) | 浏览次数(461) | 所属类型(汇编作业)

[2008-08-28 16:34] 实验8

分析下面的程序,在运行前思考:这程序可以正确返回吗?
运行后再思考:为什么是这种结果?

assume cs:codesg
codesg segment

       mov ax,4c00h
       int 21h

start: mov ax,0
    s: nop            ;此处预留的两个字节是为了存放
       nop            ;从s2处复制过来的两个字节
   
       mov di,offset s       ;以下四句的用意是将标号为s2处的指令
       mov si,offset s2     ...
阅读全文 | 评论次数(1) | 浏览次数(435) | 所属类型(汇编作业)
『 查看更多文章 』