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...
- [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
[2009-12-29 11:11] 我的实验9
阅读全文 |
评论次数(1) |
浏览次数(598) |
所属类型(汇编作业)
[2009-12-27 22:47] 实验8 一个奇怪的程序分析(上机分析详解)
实验8 一个奇怪的程序分析
assume cs:code
code segment
mov ax,4c00h
int 21h
start:mov ax,0
s:nop
nop
mov di,offset s
mov si,offset s2
mov ax,cs:[si]
mov cs:[di],ax
s0:jmp short s
s1:mov ax,0
int 21h
mov ax,0
s2:jmp short s1
nop
code ends
end start
1)程序运行前请思考,程序可以正确返回吗?
2)程序运行后请思考,为什么是这样?...
assume cs:code
code segment
mov ax,4c00h
int 21h
start:mov ax,0
s:nop
nop
mov di,offset s
mov si,offset s2
mov ax,cs:[si]
mov cs:[di],ax
s0:jmp short s
s1:mov ax,0
int 21h
mov ax,0
s2:jmp short s1
nop
code ends
end start
1)程序运行前请思考,程序可以正确返回吗?
2)程序运行后请思考,为什么是这样?...
阅读全文 |
评论次数(0) |
浏览次数(394) |
所属类型(简单但经典的程序)
[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) |
浏览次数(564) |
所属类型(汇编作业)
[2009-12-26 21:47] 作业9.2
作业9.2
补全编程,利用jcxz指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
start:mov ax,2000h
mov ds,ax
mov bx,0
s:
_____________
_____________
_____________
_____________
jmp short s
ok:mov dx,bx
mov ax,4c00h
int 21h
code ends
end start
答:
1)编写源程序d.asm如下:
ass...
补全编程,利用jcxz指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
start:mov ax,2000h
mov ds,ax
mov bx,0
s:
_____________
_____________
_____________
_____________
jmp short s
ok:mov dx,bx
mov ax,4c00h
int 21h
code ends
end start
答:
1)编写源程序d.asm如下:
ass...
阅读全文 |
评论次数(1) |
浏览次数(326) |
所属类型(汇编作业)
[2009-12-26 11:15] 作业9.1
作业9.1
1.程序如下:
assume cs:code
data segment
;----------------
?
;---------------
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
code ends
end start
若要使程序中的JMP指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪 些数据?
答:
1)编写源程序如下:9.asm
C:\>edit 9.asm
assume c...
1.程序如下:
assume cs:code
data segment
;----------------
?
;---------------
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
code ends
end start
若要使程序中的JMP指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪 些数据?
答:
1)编写源程序如下:9.asm
C:\>edit 9.asm
assume c...
阅读全文 |
评论次数(2) |
浏览次数(539) |
所属类型(汇编作业)
[2009-12-23 22:09] 给正在学习汇编的朋友一点建议
给正在学习汇编的朋友一点建议
1.学习汇编一定要认真看书,仔细理解书中所讲的内容,汇编是需要用心去揣摩的;
2.在做网站检测题时,建议做一道,用纸和笔将它记录下来,这样可以让你迅速的发现错误,纠正错误,加深记忆。
3.做错了的题一定要弄清楚原因,要知道错在了那里,那怕是看别人给你提供的答案,我并不反对答案,但你要把答案消化掉,相信这样可以让记得很牢。
4.做检测题是一定要看清楚题目,理解题意,避免出现低级错误。
5.不要认为有些题很简单,要知道能当题出的一定有他的道理。认真对待每一道题。
6.不要指责和埋怨网站不给答案,这样对你有好处,网站上...
1.学习汇编一定要认真看书,仔细理解书中所讲的内容,汇编是需要用心去揣摩的;
2.在做网站检测题时,建议做一道,用纸和笔将它记录下来,这样可以让你迅速的发现错误,纠正错误,加深记忆。
3.做错了的题一定要弄清楚原因,要知道错在了那里,那怕是看别人给你提供的答案,我并不反对答案,但你要把答案消化掉,相信这样可以让记得很牢。
4.做检测题是一定要看清楚题目,理解题意,避免出现低级错误。
5.不要认为有些题很简单,要知道能当题出的一定有他的道理。认真对待每一道题。
6.不要指责和埋怨网站不给答案,这样对你有好处,网站上...
阅读全文 |
评论次数(2) |
浏览次数(397) |
所属类型(学习感言)
[2009-12-14 09:41] 作业3.2
作业3.2
1.补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序复制到20000H~2000FH中。逆序复制的含义如图3.17所示(图中内存里的数据均为假设)。
Mov ax,1000h
Mov ds,ax
以下内容为补充内容
;--------------------
Mov ax,2000h
Mov ss,ax
Mov sp,0
;-------------------
Push [0]
Push [2]
Push [4]
Push [6]
Push [8]
Push [A]
Push [C]
Pus...
1.补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序复制到20000H~2000FH中。逆序复制的含义如图3.17所示(图中内存里的数据均为假设)。
Mov ax,1000h
Mov ds,ax
以下内容为补充内容
;--------------------
Mov ax,2000h
Mov ss,ax
Mov sp,0
;-------------------
Push [0]
Push [2]
Push [4]
Push [6]
Push [8]
Push [A]
Push [C]
Pus...
阅读全文 |
评论次数(4) |
浏览次数(350) |
所属类型(汇编作业)
[2009-12-11 23:36] 作业3.1
作业3.1
1.在Debug中,用“d 0:0 1f”查看内存,结果如下。
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值。
Mov ax,1
Mov ds,ax
Mov ax,[0000] ax=8070h
Mov bx,[0001] bx=...
1.在Debug中,用“d 0:0 1f”查看内存,结果如下。
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值。
Mov ax,1
Mov ds,ax
Mov ax,[0000] ax=8070h
Mov bx,[0001] bx=...
阅读全文 |
评论次数(2) |
浏览次数(382) |
所属类型(汇编作业)
[2009-12-07 19:31] 作业2.1
作业2.1
1.写出每条汇编指令执行后相关寄存器中的值。
Mov ax,62627 ax=62627
Mov ah,31H ah=31h
Mov al,23h al=23h
Add ax,ax ax=6246h
Mov bx,826ch bx=826ch
Mov cx,ax cx=6246h
Mov ax,bx ax=826ch
Add ax,bx ax=04d6h
Mov al,bh ax=0482h
Mov ah,bl ax=6c82h
Add ah,ah ...
1.写出每条汇编指令执行后相关寄存器中的值。
Mov ax,62627 ax=62627
Mov ah,31H ah=31h
Mov al,23h al=23h
Add ax,ax ax=6246h
Mov bx,826ch bx=826ch
Mov cx,ax cx=6246h
Mov ax,bx ax=826ch
Add ax,bx ax=04d6h
Mov al,bh ax=0482h
Mov ah,bl ax=6c82h
Add ah,ah ...
阅读全文 |
评论次数(1) |
浏览次数(320) |
所属类型(汇编作业)
[2009-12-06 23:01] 作业2.3
作业2.3
下面3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
Mov ax,bx
Sub ax,ax
Jmp ax
答案:
Mov ax,bx 读入后:IP=IP+3
Sub ax,ax 读入后:IP=IP+3 ax=0
Jmp ax 读入后:IP=IP+3
执行后:IP=0000h
共计四次修改IP的值。...
下面3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
Mov ax,bx
Sub ax,ax
Jmp ax
答案:
Mov ax,bx 读入后:IP=IP+3
Sub ax,ax 读入后:IP=IP+3 ax=0
Jmp ax 读入后:IP=IP+3
执行后:IP=0000h
共计四次修改IP的值。...
阅读全文 |
评论次数(1) |
浏览次数(337) |
所属类型(汇编作业)