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...
- [游客] jcxz ok 怎么样呢? 11/17 23:49
- [游客] 又认真看了一下王爽老师的书,才明白为什么panwei 会写mov cx,cx了 。还得再认真仔细的读 11/17 14:54
- [游客] o 错了 大错特错了 呵呵 且不说能不能把s放进程序 s也只是到 标号那里的字节数 那怎么取得循 11/17 12:28
- [游客] 请教一下 第三题里 mov es,ax mov bx,0 mov cx,23 11/17 12:25
- [游客] 第一题 这样写应该也可以吧。 assume cs:code code segment mov 11/17 12:05
- [tomato] 正确! 09/19 17:41
- [tomato] 正确! 09/19 17:27
- [tomato] 正确! 09/19 17:21
- [tomato] 正确! 09/02 23:29
- [tomato] 正确! 09/02 23:28
[2008-09-10 21:45] 实验10.3
阅读全文 |
评论次数(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...
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
;功能:在指定的位置,用指定的颜色,...
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:[...
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...
内存地址 机器码 汇编指令
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
...
内存地址 机器码 汇编指令
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的值入栈...
内存地址 机器码 汇编指令
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...
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:...
解:
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 ...
运行后再思考:为什么是这种结果?
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) |
所属类型(汇编作业)
『 查看更多文章 』