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

我的博客

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

[2011-08-09 17:57] 第10章 课程设计1 wbkyh——2011-08-09

点击查看原图
调试结果见图。
DATA SEGMENT
dw 1975,1976,1977,1978,1979,1980,1981,1982   ;这里把年份也作为数值对待进行处理
dw 1983,1984,1985,1986,1987,1988,1989,1990
dw 1991,1992,1993,1994,1995,16,22,382
dw 1356,2390,8000,16000,24486,50065
dd 97479,140417,197514,345980   ;单独取出数值大于65535的数据进行处理
dd 590827,803530,1183000,1843000
dd 2...
阅读全文 | 评论次数(0) | 浏览次数(398) | 所属类型(汇编作业)

[2011-07-29 11:23] 实验10编写子程序3数值显示wbkyh2011-7-29

点击查看原图
实验10编写子程序3数值显示wbkyh2011-7-29
assume cs:code
data segment
db 10 dup(0)
data ends
code segment   
start:
mov ax,12666
mov bx,data
mov ds,bx
mov si,0
call dtoc
mov dh,8
mov dl,3
mov cl,2
call show_str
mov ax,4c00h  
int 21h
dtoc:
mov di,0      ;用于子程序
mov dx,0      ;被除数无最高位
mov bx,1...
阅读全文 | 评论次数(0) | 浏览次数(414) | 所属类型(汇编作业)

[2011-07-23 11:30] 实验10 编写子程序2解决出发溢出的问题wbkyh2011-7-23

实验10 编写子程序2解决出发溢出的问题wbkyh2011-7-23
assume cs:code
code segment   
start:
mov ax,4240h
mov dx,000fh
mov cx,0ah
call divdw
mov ax,4c00h  
int 21h
divdw:
push ax           ;ax入栈备用 
mov si,0          ;变量,暂存相关数据
mov ax,dx         ;被除数高16位存入ax
mov dx,0          ;dx不再存放
div cx            ;用被...
阅读全文 | 评论次数(0) | 浏览次数(389) | 所属类型(汇编作业)

[2011-07-23 09:01] 实验10编写子程序1显示字符串wbkyh2011-7-23

实验10 编写子程序1显示字符串wbkyh2011-7-23
assume cs:code
data segment
db 'welcome to masm!',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:
mov ax,0b800h   
mov es,ax         ;定义显存段地址
dec dh          ...
阅读全文 | 评论次数(0) | 浏览次数(378) | 所属类型(汇编作业)

[2011-07-04 16:20] 检测点10.5——wbkyh2011-7-4

检测点10.5——wbkyh2011-7-4
(1)        下面的程序执行后,ax中的数值为3?(注意:用call指令的原理来分析,不要再debug中但不跟踪来验证你的结论。对于此程序,在debug中单步跟踪的结果,不能代表cpu的实际执行结果。)
Assume cs:code
Stack seqment
Dw 8 dup(0)
Stack ends
Code segment
Start:
mov ax,stack  
Mov ss,ax          
Mov sp,16
Mov ds,ax
Mov ax,0          解答:ax=0
Call word pt...
阅读全文 | 评论次数(0) | 浏览次数(386) | 所属类型(汇编作业)

[2011-07-04 11:25] 检测点10.4——wbkyh2011-7-4

检测点10.4——wbkyh2011-7-4
下面的程序执行后,ax中的值为多少
内存地址   机器码     汇编指令
1000:0     b80600      mov ax,6 
1000:3     ff d0       call ax 
1000:5     40          inc ax 
1000:6     58          mov bp,sp      
                       add ax,[bp]    ([bp]即call命令入栈后的ip,ax=06h+05h=0bh)
解答:call ax为段间转移指令,其操作相当...
阅读全文 | 评论次数(0) | 浏览次数(339) | 所属类型(汇编作业)

[2011-07-04 11:02] 检测点10.3——wbkyh2011-7-4

检测点10.3——wbkyh2011-7-4
下面的程序执行后,ax中的值为多少
内存地址   机器码     汇编指令
1000:0     b80000      mov ax,0 
1000:3     9a09000010  call far ptr s 
1000:8     40          inc ax 
1000:9     58          s:pop ax      (ax=08h,即call命令入栈后的ip)
                         add ax,ax    (ax=08h+08h=10h)
             ...
阅读全文 | 评论次数(0) | 浏览次数(376) | 所属类型(汇编作业)

[2011-07-04 10:03] 检测点10.2——wbkyh2011-7-4

检测点10.2——wbkyh2011-7-4
下面的程序执行后,ax中的数值为多少
内存地址  机器码  汇编指令
1000:0     b80000  mov ax,0
1000:3     e80100  call s
1000:6     40      inc ax
1000:7     58      s:pop ax
解答:call指令操作为(1)(sp)=(sp)-2  ((ss)*16+(sp))=(ip)(2)(ip)=(ip)+16位位移,因此执行call s后,当前ip入栈为0006h,然后执行s标号处指令,即出栈操作,则ax=06h。...
阅读全文 | 评论次数(0) | 浏览次数(357) | 所属类型(汇编作业)

[2011-07-04 09:41] 检测点10.1——wbkyh2011-7-4

检测点10.1——wbkyh2011-7-4
补全程序,实现从内存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
conde ends
end start
解答:因为retf 指令含义为(1)pop ip  (2) pop cs,根据堆栈先进后出的特点,应该将1000H先...
阅读全文 | 评论次数(0) | 浏览次数(347) | 所属类型(汇编作业)

[2011-06-28 17:37] 实验9 根据材料编程

点击查看原图
assume cs:codesg
data segment
db 'welcome to masm!'
data ends
codesg segment   
start:
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov bx,0
mov di,0
mov cx,16
s: mov al,[bx]
   mov ah,02h
   mov es:[720h+di],ax
   mov al,[bx]
   mov ah,24h
   mov es:[7c0h+di],ax
   mov al,[bx]
...
阅读全文 | 评论次数(3) | 浏览次数(506) | 所属类型(汇编作业)
『 查看更多文章 』