实验10-3 数值显示
子程序描述
名称:dtoc
功能:将word型数据转变为表示十进制数的字符串,字符串以0结尾符
参数:(ax)=word型数据
Ds:si指向字符串的首地址
返回:无
编程如下:
data segment
db 10 dup (?)
;多定义10个字节用于中转
db 10 dup (?)
data ends
code segment
assume cs:code,ds:data
start:
mov ax,12666
mov bx,data
mov ds,bx
mov si,0
call ...


- [rotapple] 哎呀。这个好。 收藏一下。 09/05 10:46
- [suixin] 得出行和列的物理地址这段代码,在思路上比我写的简洁的多,很不错。踩踩 ^_^ 01/12 13:40
- [lcf20092009] pop ax (ax)=8D=0008H add ax,ax (ax)=16D=00 01/07 14:03
- [游客] 踩踩,自己编写的第一个有显示的程序,纪念 ^_^ 12/30 11:12
- [游客] 正确。~ 12/30 11:01
- [游客] 正确结果是ax=1010h 12/30 11:00
- [游客] 正确、 12/30 11:00
- [游客] 答案正确。 12/30 10:59
- [lcf20092009] 上楼的回答是正确,是我理解错了。 12/27 19:58
- [lcf20092009] 错误已更正哈。 12/27 19:18
- [lcf20092009] 作业1.1 1.一个CPU的寻址能力为8K,那么它的地址总线宽度为: 13 。 2.1KB的 12/06 10:46
[2010-01-12 10:56] 实验10-3 数值显示
阅读全文 |
评论次数(0) |
浏览次数(651) |
所属类型(汇编作业)
[2010-01-12 10:49] 实验10-2 解决除法溢出的问题
实验10-2 解决除法溢出的问题
子程序描述
名称:divdw
功能:进行不会产生溢出的除法运算,被除数为dword型,除数为word型、结果为dword型。
参数:(ax)=dword型数据的低16位
(dx)= dword型数据的高16位
(cx)=除数
返回:(dx)= 结果的高16位
(ax)= 结果的低16位
(cx)=除数
提示:给出一个公式
X:被除数,范围:[0,FFFFFFFF]
N:除数,范围:[0, FFFF]
H:X高16位,范围:[0, FFFF]
L:X高16位,范围:[0, FFFF]
Int():描述性运算符,取商,...
子程序描述
名称:divdw
功能:进行不会产生溢出的除法运算,被除数为dword型,除数为word型、结果为dword型。
参数:(ax)=dword型数据的低16位
(dx)= dword型数据的高16位
(cx)=除数
返回:(dx)= 结果的高16位
(ax)= 结果的低16位
(cx)=除数
提示:给出一个公式
X:被除数,范围:[0,FFFFFFFF]
N:除数,范围:[0, FFFF]
H:X高16位,范围:[0, FFFF]
L:X高16位,范围:[0, FFFF]
Int():描述性运算符,取商,...
阅读全文 |
评论次数(0) |
浏览次数(664) |
所属类型(汇编作业)
[2010-01-12 10:34] 实验10-1 显示字符串
实验10-1 显示字符串
显示字符串
描述:
名称:show_str
功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串
参数:(dh)=行号(取值范围0~24)
(dl)=列号(取值范围0~79)
(cl)=颜色
Ds:si指向字符串的首地址
返回:无
编写程序如下:
data segment
db 'welcome to masm!',0
data ends
code segment
assume cs:code
start:mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax...
显示字符串
描述:
名称:show_str
功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串
参数:(dh)=行号(取值范围0~24)
(dl)=列号(取值范围0~79)
(cl)=颜色
Ds:si指向字符串的首地址
返回:无
编写程序如下:
data segment
db 'welcome to masm!',0
data ends
code segment
assume cs:code
start:mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax...
阅读全文 |
评论次数(1) |
浏览次数(863) |
所属类型(汇编作业)
[2010-01-07 14:05] 作业10.5
作业10.5
1.下面的程序执行后,ax中的数值为多少?(注意:用call指令的原理来分析,不要在Debug中,单步跟踪来验证你的结论。对于此程序在Debug中单步跟踪的结果,不能代表 CPU的实际执行结果。)
Assume cs:code
Stack segment
Stack segment
Dw 8 dup (0)
Stack ends
Code segment
Start:mov ax,stack
Mov ss,ax
Mov sp,16
Mov ds,ax
Mov ax,0
Call word ptr ds:[0EH]
Inc ax
Inc ax
I...
1.下面的程序执行后,ax中的数值为多少?(注意:用call指令的原理来分析,不要在Debug中,单步跟踪来验证你的结论。对于此程序在Debug中单步跟踪的结果,不能代表 CPU的实际执行结果。)
Assume cs:code
Stack segment
Stack segment
Dw 8 dup (0)
Stack ends
Code segment
Start:mov ax,stack
Mov ss,ax
Mov sp,16
Mov ds,ax
Mov ax,0
Call word ptr ds:[0EH]
Inc ax
Inc ax
I...
阅读全文 |
评论次数(0) |
浏览次数(672) |
所属类型(汇编作业)
[2009-12-29 20:53] 作业10.4
作业10.4
下面的程序执行后,ax中的数值为多少?
答:程序执行后,ax中的数值为:0BH...
下面的程序执行后,ax中的数值为多少?
答:程序执行后,ax中的数值为:0BH...
阅读全文 |
评论次数(1) |
浏览次数(1077) |
所属类型(汇编作业)
[2009-12-29 20:29] 作业10.3
作业10.3
下面程序执行后,ax中的数值为多少?
答:程序执行后,ax中的数值为10012H...
下面程序执行后,ax中的数值为多少?
答:程序执行后,ax中的数值为10012H...
阅读全文 |
评论次数(2) |
浏览次数(984) |
所属类型(汇编作业)
[2009-12-29 20:25] 作业10.2
作业10.2
下面的程序执行后,ax中的值为多少?
答:
程序执行后,ax中的内容为:6...
下面的程序执行后,ax中的值为多少?
答:
程序执行后,ax中的内容为:6...
阅读全文 |
评论次数(1) |
浏览次数(1000) |
所属类型(汇编作业)
[2009-12-29 20:19] 作业10.1
作业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
_______
Push ax
Mov ax,___
Push ax
Retf
Code ends
End start
答:补全程序如下:
assume cs:code
Stack segment
Db 16 dup (0)
Stack ends
Code segme...
补全程序,实现从内存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
_______
Push ax
Mov ax,___
Push ax
Retf
Code ends
End start
答:补全程序如下:
assume cs:code
Stack segment
Db 16 dup (0)
Stack ends
Code segme...
阅读全文 |
评论次数(1) |
浏览次数(895) |
所属类型(汇编作业)
[2009-12-29 11:11] 我的实验9
data segment
db 'welcome to masm!','$'
db 02h,24h,71h
data ends
code segment
assume ds:data,cs:code
start:
mov ax,data
mov ds,ax
mov ax,0b800h ;显存地址入口
mov es,ax
mov si,0
mov di,0720h ;中间位置
mov cx,16
mov bx,17
s:
mov al,[si]
mov es:[di-160],a...
db 'welcome to masm!','$'
db 02h,24h,71h
data ends
code segment
assume ds:data,cs:code
start:
mov ax,data
mov ds,ax
mov ax,0b800h ;显存地址入口
mov es,ax
mov si,0
mov di,0720h ;中间位置
mov cx,16
mov bx,17
s:
mov al,[si]
mov es:[di-160],a...
阅读全文 |
评论次数(1) |
浏览次数(626) |
所属类型(汇编作业)
[2009-12-27 09:23] 作业 9.3
作业 9.3
补全编程,利用loop指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
start:mov ax,2000H
mov ds,ax
mov bx,0
s:mov cl,[bx]
mov ch,0
______
inc bx
loop s
ok:dec bx
mov dx,bx
mov ax,4c00h
int 21h
code ends
end start
答:编写源程序如下:
assume cs:co...
补全编程,利用loop指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
start:mov ax,2000H
mov ds,ax
mov bx,0
s:mov cl,[bx]
mov ch,0
______
inc bx
loop s
ok:dec bx
mov dx,bx
mov ax,4c00h
int 21h
code ends
end start
答:编写源程序如下:
assume cs:co...
阅读全文 |
评论次数(2) |
浏览次数(593) |
所属类型(汇编作业)