设计一有前面几个作业的大部分元素。
对使用没有除法溢出的dtoc,这里更名为dwtoc.
assume cs:codesg
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995'
;以上是表示21年的21个字符串
dd 16,22,382,1356,2390,8000,16000,...


- [tomato] 试验2博主的程序有点儿不太合理,就是用16位的寄存器,会改变本不须改变的内存单元的内容。试验3博主的 02/23 16:19
- [tomato] 对! 02/23 16:14
- [starrynight] en ,完成得很好啊! 02/19 22:32
- [norank] 也许吧,我现在还没有足够的认识。慢慢来吧,呵呵。认识是逐渐深入的,我们总会明白的,对吧。 02/18 10:12
- [norank] 噢,我是这样考虑的。书上要求设置绿色字,没有对其它属性进行修改。所以我第一行的属性字进行了单独修改, 02/18 10:02
- [laohou] 向博主学习! 02/17 16:01
- [starrynight] 向博主学习! 02/15 20:29
- [游客] 也还没有学到,看论坛有帖子说这是中断和系统保护的问题,在实dos下跟踪没有问题(从这点来看,主要的问 02/15 15:04
- [游客] 替博主抓个图o(∩_∩)o... -g 4c AX=0195 BX=0004 CX= 02/15 15:00
- [startasm] 从结果图上看没有问题。不过程序感觉有点乱啊;) 三次显示字符串用两次显示还可以。 and 02/15 14:45
[2008-02-18 10:43] 设计一
阅读全文 |
评论次数(1) |
浏览次数(617) |
所属类型(汇编作业)
[2008-02-13 16:29] 试验9
assume cs:code,es:data
data segment
db 'welcome to masm!'
db 00000010B
db 10100100B,11110001B
data ends
code segment
start:
mov ax,data
mov es,ax
mov ax,0B800H
mov ds,ax
;{write the first line, we just set the forward ground color,keeping the back ground color.
mov bx,6e0h...
data segment
db 'welcome to masm!'
db 00000010B
db 10100100B,11110001B
data ends
code segment
start:
mov ax,data
mov es,ax
mov ax,0B800H
mov ds,ax
;{write the first line, we just set the forward ground color,keeping the back ground color.
mov bx,6e0h...
阅读全文 |
评论次数(2) |
浏览次数(575) |
所属类型(汇编作业)
[2008-02-11 15:17] 实验7
assume cs:codesg
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995'
;以上是表示21年的21个字符串
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,1404017,197514
dd 345980,59...
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995'
;以上是表示21年的21个字符串
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,1404017,197514
dd 345980,59...
阅读全文 |
评论次数(1) |
浏览次数(657) |
所属类型(汇编作业)
[2008-02-10 12:25] 实验6
编程,将datasg段中每个单词的前四个字母改为大写字母:
assume cs:codesg,ss:stacksg,ds:datasg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
codesg segment
start:
mov ax, datasg
mov ds,...
assume cs:codesg,ss:stacksg,ds:datasg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
codesg segment
start:
mov ax, datasg
mov ds,...
阅读全文 |
评论次数(1) |
浏览次数(589) |
所属类型(汇编作业)
[2008-02-09 09:35] 实验5
(1)
1.CPU执行程序,程序返回前,data段中的数据为多少?
23 01 56 04 89 07 BC 0A-EF 0D ED 0F BA 0C 87 09
2.CPU执行程序,程序返回前,cs={0B5C}, ss={0B5B}, ds={0B5A}.
3.设程序加载后,code段的段地址为X,则data段的段地址为{X-2};stack段的段地址为{X-1}。
(2)
1.CPU执行程序,程序返回前,data段中的数据为多少?
23 01 56 04 00 00 00 00-00 00 00 00 00 00 00 00
2.CPU执行程序...
1.CPU执行程序,程序返回前,data段中的数据为多少?
23 01 56 04 89 07 BC 0A-EF 0D ED 0F BA 0C 87 09
2.CPU执行程序,程序返回前,cs={0B5C}, ss={0B5B}, ds={0B5A}.
3.设程序加载后,code段的段地址为X,则data段的段地址为{X-2};stack段的段地址为{X-1}。
(2)
1.CPU执行程序,程序返回前,data段中的数据为多少?
23 01 56 04 00 00 00 00-00 00 00 00 00 00 00 00
2.CPU执行程序...
阅读全文 |
评论次数(2) |
浏览次数(898) |
所属类型(汇编作业)
[2008-02-06 23:46] 实验4
实验(2)编程,向内存0:200-0:23F依次传头数据0-63,程序只能使用9条指令。
assume cs:code
code segment
mov ax,20h
mov ds,ax
mov bx,0
mov cx,40h
s: mov ds:[bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
实验(3)
下面的程序功能将“mov ax,4c00h”之前的指令复制到内存0:200处补全程序。上机调试,跟踪运行结果。
assume cs:code
code segment
...
assume cs:code
code segment
mov ax,20h
mov ds,ax
mov bx,0
mov cx,40h
s: mov ds:[bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
实验(3)
下面的程序功能将“mov ax,4c00h”之前的指令复制到内存0:200处补全程序。上机调试,跟踪运行结果。
assume cs:code
code segment
...
阅读全文 |
评论次数(1) |
浏览次数(668) |
所属类型(汇编作业)
[2008-02-06 23:44] 实验3
这是一个十分有意思的问题,得到的不是一个可以顺利执行debug的t命令的程序。而是执行时,导致debug的t指令出现致命错误。
先把程序改为
mov ax,2000H
mov ss,ax
mov sp,0
add sp,4h
add sp,2h
出现了同样的问题;
改为:
mov ax,2000H
mov ss,ax
mov sp,0
add sp,6h
add sp,2h
问题就不见了;
改为:
mov ax,2000H
mov ss,ax
mov sp,0
add sp,2h
add sp,2h
问题出现了,DEBUG提示:
Program t...
先把程序改为
mov ax,2000H
mov ss,ax
mov sp,0
add sp,4h
add sp,2h
出现了同样的问题;
改为:
mov ax,2000H
mov ss,ax
mov sp,0
add sp,6h
add sp,2h
问题就不见了;
改为:
mov ax,2000H
mov ss,ax
mov sp,0
add sp,2h
add sp,2h
问题出现了,DEBUG提示:
Program t...
阅读全文 |
评论次数(2) |
浏览次数(680) |
所属类型(汇编作业)
[2008-02-04 21:40] 实验2(2)
mov ax,ffff
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,100
mov ax,[0]; ax={5BEA}
add ax,[2]; ax={5CCA}
mov bx,[4]; bx={31F0}
add bx,[6]; bx={6121}
push ax; sp={00FEH};修改的内存单元的地址是{220FEH}内容为{5CCA}
push bx; sp={00FCH};修改的内存单元的地址是{220FCH}内容为{6121}
pop ax; sp={00FEH};ax={6121}
pop bx; sp={0100...
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,100
mov ax,[0]; ax={5BEA}
add ax,[2]; ax={5CCA}
mov bx,[4]; bx={31F0}
add bx,[6]; bx={6121}
push ax; sp={00FEH};修改的内存单元的地址是{220FEH}内容为{5CCA}
push bx; sp={00FCH};修改的内存单元的地址是{220FCH}内容为{6121}
pop ax; sp={00FEH};ax={6121}
pop bx; sp={0100...
阅读全文 |
评论次数(1) |
浏览次数(518) |
所属类型(汇编作业)
[2008-02-04 21:39] 检测点3.2
补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到2000H-2000FH中。
mov ax,1000H
mov ds,ax
mov ax,2000H
mov ss,ax
mov sp,0010H
push [0]
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
push [E]
补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中。
mov ax,2000H
mov ds,ax
mov ax,1000H
mov ss,a...
mov ax,1000H
mov ds,ax
mov ax,2000H
mov ss,ax
mov sp,0010H
push [0]
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
push [E]
补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中。
mov ax,2000H
mov ds,ax
mov ax,1000H
mov ss,a...
阅读全文 |
评论次数(2) |
浏览次数(593) |
所属类型(汇编作业)
[2008-02-04 21:36] 检测点3.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={2662H}
mov bx,[0001] BX={E626H}
mov ax,bx AX={E626H}
mov ax,[0000] A...
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={2662H}
mov bx,[0001] BX={E626H}
mov ax,bx AX={E626H}
mov ax,[0000] A...
阅读全文 |
评论次数(2) |
浏览次数(449) |
所属类型(汇编作业)
『 查看更多文章 』