data segment
first db '1.first$ '
second db '2.second$ '
third db '3.third$ '
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov si,offset first
mov cx,3
s:
mov bx,2
push cx
mov cx,4
s0:
mov dl,[si+bx]
and dl,1101111...


- [Wednesday] 收藏! 写注释阿,程序大了就有写注释的必要了 养成良好的习惯先! 11/09 18:05
- [Wednesday] 换台机子试试 ,看结果还是这样的吗 有什么感受! 11/09 17:42
- [游客] 继续! 11/04 12:55
- [happy] 边学习,边总结。 11/04 11:36
- [happy] 继续! 11/04 11:36
- [游客] 学习! 11/04 10:51
- [Wednesday] 找到了吗?! 10/31 11:45
- [Wednesday] 执行pop ax时出现错误:如图 原因正在查找中。。 ------------------- 10/30 15:53
- [smart] 有耐心的,认真的,再回头去看看第二章 10/29 12:15
- [游客] 路过,冷静,看书 10/28 17:12
[2007-11-03 23:03] 第七章
阅读全文 |
评论次数(1) |
浏览次数(779) |
所属类型(汇编作业)
[2007-11-03 22:44] [bx+n]
mov al,[bx+200]
mov al,200[bx]
mov al,[bx].200
三句话等效,设bx=0,则全是将DS:200中的值传给AL
0[bx] 16[bx] 使用类似于高级语言中的数组
[bx+si]、[bx+si+n]与[bx+n]用法类似
mov ax,[bx+200+s]
mov ax,200[bx][si]
mov ax,[bx].200[si]
mov ax,[bx][si].200...
mov al,200[bx]
mov al,[bx].200
三句话等效,设bx=0,则全是将DS:200中的值传给AL
0[bx] 16[bx] 使用类似于高级语言中的数组
[bx+si]、[bx+si+n]与[bx+n]用法类似
mov ax,[bx+200+s]
mov ax,200[bx][si]
mov ax,[bx].200[si]
mov ax,[bx][si].200...
阅读全文 |
评论次数(2) |
浏览次数(734) |
所属类型(杂语)
[2007-11-03 20:43] 大、小写字符转换
第七章开始介绍的大小写字符转换的一种办法,自己还真的没有想到用OR and来做。
0100 0001 65 41 A
0100 0010 66 42 B
0101 1001 89 59 Y
0101 1010 90 5A Z
0110 0001 97 61 a
0110 0010 98 62 b
0111 1001 ...
0100 0001 65 41 A
0100 0010 66 42 B
0101 1001 89 59 Y
0101 1010 90 5A Z
0110 0001 97 61 a
0110 0010 98 62 b
0111 1001 ...
阅读全文 |
评论次数(1) |
浏览次数(766) |
所属类型(杂语)
[2007-10-30 12:31] 实验4 [bx]和loop的使用
(1)
assume cs:code
code segment
mov ax,0
mov ds,ax
mov bx,200H
mov cx,64
s: mov [bx],ax
inc bx
inc ax
loop s
mov ax,4c00h
int 21h
code ends
end
(2)
assume cs:code
code segment
mov ax,0020h
mov ds,ax
mov bx,0
mov cx,64
s: mov [bx],bx
inc bx
loop s
mov ...
assume cs:code
code segment
mov ax,0
mov ds,ax
mov bx,200H
mov cx,64
s: mov [bx],ax
inc bx
inc ax
loop s
mov ax,4c00h
int 21h
code ends
end
(2)
assume cs:code
code segment
mov ax,0020h
mov ds,ax
mov bx,0
mov cx,64
s: mov [bx],bx
inc bx
loop s
mov ...
阅读全文 |
评论次数(1) |
浏览次数(849) |
所属类型(汇编作业)
[2007-10-29 17:48] 实验3 编程、编译、连接、跟踪
(1)输入代码-编译(masm t1;)-连接(link t1;)-运行(t1)
(2)
mov ax,2000H ;ax=2000
mov ss,ax ;ss=2000,sp=0000
mov sp,0
add sp,4 ;sp=0004
pop ax
执行pop ax时出现错误:如图
原因正在查找中。。
(3)
D:\xpdos>debug t1.exe
-r
AX=0000 BX=0000 CX=0016 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=0B9E ES=0B9E SS=0BAE...
(2)
mov ax,2000H ;ax=2000
mov ss,ax ;ss=2000,sp=0000
mov sp,0
add sp,4 ;sp=0004
pop ax
执行pop ax时出现错误:如图
原因正在查找中。。
(3)
D:\xpdos>debug t1.exe
-r
AX=0000 BX=0000 CX=0016 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=0B9E ES=0B9E SS=0BAE...
阅读全文 |
评论次数(2) |
浏览次数(894) |
所属类型(汇编作业)
[2007-10-28 11:20] 实验2
mov ax,ffff
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,0100
mov ax,[0] ;ax=5bea
add ax,[2] ;ax=5cca
mov bx,[4] ;bx=30f0
add bx,[6] ;bx=6025
push ax ;sp=00fe ;修改的内存单元地址是2200:00fe,内容为5cca
push bx ;sp=00fc ;修改的内存单元地址是2200:00fc,内容为6025
pop ax ;sp=00fe ;ax=6025
pop bx ;sp=0100 ;bx=5cca
push ...
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,0100
mov ax,[0] ;ax=5bea
add ax,[2] ;ax=5cca
mov bx,[4] ;bx=30f0
add bx,[6] ;bx=6025
push ax ;sp=00fe ;修改的内存单元地址是2200:00fe,内容为5cca
push bx ;sp=00fc ;修改的内存单元地址是2200:00fc,内容为6025
pop ax ;sp=00fe ;ax=6025
pop bx ;sp=0100 ;bx=5cca
push ...
阅读全文 |
评论次数(1) |
浏览次数(797) |
所属类型(汇编作业)
[2007-10-28 10:30] 我太着急了
第二章的题目现在还没通过,应该是其中某个题目一直就错着,而我不知道。再看看书吧,我太着急了!
冰冻,静下来,回头看书!...
冰冻,静下来,回头看书!...
阅读全文 |
评论次数(3) |
浏览次数(775) |
所属类型(杂语)
[2007-10-27 22:39] 检测点3.1
(1)
mov ax,1
mov ds,ax
mov ax,[0000] AX=2662H
mov bx,[0001] BX=E626H
mov ax,bx AX=E626H
mov ax,[0000] AX=2662H
mov bx,[0002] BX=D6E6H
add ax,bx AX=FD48H
add ax,[0004] AX=2C14H
mov ax,0 AX=0000H
mov al,[0002] AX=00E6H
mov bx,0 BX=0000H
mov bl,[000C] BX=0026H
add al,bl AX=000CH
(2)
初始:...
mov ax,1
mov ds,ax
mov ax,[0000] AX=2662H
mov bx,[0001] BX=E626H
mov ax,bx AX=E626H
mov ax,[0000] AX=2662H
mov bx,[0002] BX=D6E6H
add ax,bx AX=FD48H
add ax,[0004] AX=2C14H
mov ax,0 AX=0000H
mov al,[0002] AX=00E6H
mov bx,0 BX=0000H
mov bl,[000C] BX=0026H
add al,bl AX=000CH
(2)
初始:...
阅读全文 |
评论次数(1) |
浏览次数(561) |
所属类型(汇编作业)
[2007-10-27 20:07] 实验1 查看CPU和内存,用机器指令和汇编指令编程
实习内容
(1)略
(2)步骤:
1 -a 2000:0003
2000:0000 mov ax,1
2000:0003 add ax,ax
2000:0005 jmp 2000:0003
2 -r cs 2000 -r ip 0000
3 执行16次t
(3)查找到生产日期
用e命令后,原数值并没有发生变化。
原因:FFF00-FFFFF是ROM地址空间,写入数据的操作无效
(4)与上一小题相同,无法修改。8B100-9FFFFF是显存地址空间...
(1)略
(2)步骤:
1 -a 2000:0003
2000:0000 mov ax,1
2000:0003 add ax,ax
2000:0005 jmp 2000:0003
2 -r cs 2000 -r ip 0000
3 执行16次t
(3)查找到生产日期
用e命令后,原数值并没有发生变化。
原因:FFF00-FFFFF是ROM地址空间,写入数据的操作无效
(4)与上一小题相同,无法修改。8B100-9FFFFF是显存地址空间...
阅读全文 |
评论次数(1) |
浏览次数(637) |
所属类型(汇编作业)
[2007-10-27 17:10] debg使用
Debug的使用
Debug非常重要,先把看过的总结一下:
r:查看寄存器内容
r ax: 修改ax寄存器的内容
d xx:yy 查看内存中的内容(128个),如果接着执行d,刚显示后续128个
d xx:y1 y2 指定查看从xx:y1到xx:y2
e 改写内存中的内容
u xx:yy 查看内存中机器码的含义
t 执行内存中的机器码
a 以汇编指令的形式在内存中写入机器指令...
Debug非常重要,先把看过的总结一下:
r:查看寄存器内容
r ax: 修改ax寄存器的内容
d xx:yy 查看内存中的内容(128个),如果接着执行d,刚显示后续128个
d xx:y1 y2 指定查看从xx:y1到xx:y2
e 改写内存中的内容
u xx:yy 查看内存中机器码的含义
t 执行内存中的机器码
a 以汇编指令的形式在内存中写入机器指令...
阅读全文 |
评论次数(1) |
浏览次数(680) |
所属类型(汇编作业)