assume cs:code,ds:data
data segment
db 10 dup (0)
data ends
code segment
start: mov ax,12666
mov bx,data
mov ds,bx
mov si,0
call dtoc 子程序2
mov dh,8 ;设置显示的字符在8行
mov dl,3 ;设置显示的字符在3列
mov cl,2 ;设置显示绿色字符
call show_str;子程序1
...


- [xiaoyao2012] 终于有人来看了 哈哈 11/19 15:20
- [chinatree] 不要哗众取宠,没看到强在哪,浪费那么严重,一条指令能完成的事非要花2条甚至3条。 11/19 13:21
- [fpamc] 对的。 11/05 08:32
- [fpamc] 对的。 11/05 08:30
- [xiaoyao2012] 程序加载后我理解的是不执行程序 如果程序执行返回前就该是CODE=X DATA=X-2 STACK= 11/03 17:40
- [xiaoyao2012] 程序加载后 DS=17D7 SS=17E7 CS=17E9 加入加载后CODE=X 那么SS=X-2 11/03 15:35
- [fpamc] 对的。 10/31 19:52
- [fpamc] 对的。 10/31 19:51
- [fpamc] 这两者不冲突。你可以先用人力做出来。然后在debug理解下运行过程。并且可以对照下是否作对。 10/30 21:18
- [fpamc] 对的。 10/30 21:17
[2012-11-20 17:40] 实验 十 (3) 史上最详细的注释 史上最棒的程序·!!!!!
阅读全文 |
评论次数(0) |
浏览次数(477) |
所属类型(汇编作业)
[2012-11-19 15:19] 实验 十 (2) 史上做得做棒的程序 哈哈
assume cs:code
code segment
mov ax,4240h
mov dx,000fh
mov cx,0ah
call divdw
mov ax,4c00h
int 21h
divdw:push ax
push dx
pop dx
mov ax,dx
mov dx,0
div cx
mov bx, ax
pop ax
div cx
mov cx,dx
mov dx,bx
ret
code ...
code segment
mov ax,4240h
mov dx,000fh
mov cx,0ah
call divdw
mov ax,4c00h
int 21h
divdw:push ax
push dx
pop dx
mov ax,dx
mov dx,0
div cx
mov bx, ax
pop ax
div cx
mov cx,dx
mov dx,bx
ret
code ...
阅读全文 |
评论次数(0) |
浏览次数(426) |
所属类型(汇编作业)
[2012-11-19 09:58] 实验10 (1) 史上最强的程序 快来看啊 ( ^ _ ^ )
名称:show_str
;功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。
;参数:(dh)=行号(取值范围0~24)
; (dl)=列号(取值范围0~79)
; (cl)=颜色,ds:si指向字符串的首地址
;返回:无
应用举例:在屏幕的8行3列,用绿色显示data段中的字符串.
ome to masm!',0
data ends
stack segment
db 16 dup (0)
stack ends
code segment
start: mov dh,8
...
;功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。
;参数:(dh)=行号(取值范围0~24)
; (dl)=列号(取值范围0~79)
; (cl)=颜色,ds:si指向字符串的首地址
;返回:无
应用举例:在屏幕的8行3列,用绿色显示data段中的字符串.
ome to masm!',0
data ends
stack segment
db 16 dup (0)
stack ends
code segment
start: mov dh,8
...
阅读全文 |
评论次数(2) |
浏览次数(646) |
所属类型(汇编作业)
[2012-11-05 16:59] 实验6 问题7。9
assume cs:codesg,ss:stacksg,ds:datasg
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
codesg segment
start:
mov ax,stacksg
mov ss,ax
mov sp,16
mov ax,...
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
codesg segment
start:
mov ax,stacksg
mov ss,ax
mov sp,16
mov ax,...
阅读全文 |
评论次数(0) |
浏览次数(419) |
所属类型(汇编作业)
[2012-11-04 22:30] 实验5 (6)
assume cs:code
a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start: mov ax,b
mov ss,ax
mov sp,16
mov ax,a
mov ds,ax
mov cx,8
mov bx,0
s: push [bx]
add bx,2
loop s
...
a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start: mov ax,b
mov ss,ax
mov sp,16
mov ax,a
mov ds,ax
mov cx,8
mov bx,0
s: push [bx]
add bx,2
loop s
...
阅读全文 |
评论次数(1) |
浏览次数(625) |
所属类型(汇编作业)
[2012-11-04 22:05] 实验 5 (5)
assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
code segment
start: mov ax,a
mov ds,ax
mov ax,b
mov es,ax
mov ax...
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
code segment
start: mov ax,a
mov ds,ax
mov ax,b
mov es,ax
mov ax...
阅读全文 |
评论次数(1) |
浏览次数(666) |
所属类型(汇编作业)
[2012-10-31 19:45] 2) 编程,向内存0:200~0:23F依次传送数据0~63(3FH),程序中只能使用9条指令,9条指令中包括“mov ax,4c00h”和“int 21h”。
assume cs:codesg
codesg segment
mov ax,0020h
mov ds,ax
mov bl,0
mov cx,40h
s: mov [bx],bl
inc bl
loop s
mov ax,4c00h
int 21h
codesg ends
end...
codesg segment
mov ax,0020h
mov ds,ax
mov bl,0
mov cx,40h
s: mov [bx],bl
inc bl
loop s
mov ax,4c00h
int 21h
codesg ends
end...
阅读全文 |
评论次数(1) |
浏览次数(667) |
所属类型(汇编作业)
[2012-10-31 19:43] 实验4 [BX]和loop的使用 121页
(1) 编程,向内存0:200~0:23F依次传送数据0~63(3FH)。
assume cs:codesg
codesg segment
mov ax,0020h
mov ds,ax
mov bx,0
mov dl,0
mov cx,40h
s: mov [bx],dl
inc dl
inc bx
loop s
mov ax,4c00h
int 21h
codesg ends
end ...
assume cs:codesg
codesg segment
mov ax,0020h
mov ds,ax
mov bx,0
mov dl,0
mov cx,40h
s: mov [bx],dl
inc dl
inc bx
loop s
mov ax,4c00h
int 21h
codesg ends
end ...
阅读全文 |
评论次数(1) |
浏览次数(669) |
所属类型(汇编作业)
[2012-10-30 18:27] 2 实验任务
开始内存2000:0000 F什么也没有就执行MOV SS,AX后就有了数据在里面且不是执行的单条指令执行mov ss,ax 后接着也把它下面的指令执行了 书上74页说不单是MOV SS,AX对于MOV SS,BX, MOV SS,[0]
POP SS等指令都会把他下面的一条指令给同时执行 他们都是修改栈段寄存器SS的指令 书上又说了涉及中断机制
那么我们可以做一些猜测
那么就看看它向2000:0 F
的栈中进栈了些什么数据2000:000E F 3123 是PUSH AX指令的结果
那么这个1226 是哪里来的 现在我们还不知道我们可以发挥想象 可能执行修改栈段都要进栈...
POP SS等指令都会把他下面的一条指令给同时执行 他们都是修改栈段寄存器SS的指令 书上又说了涉及中断机制
那么我们可以做一些猜测
那么就看看它向2000:0 F
的栈中进栈了些什么数据2000:000E F 3123 是PUSH AX指令的结果
那么这个1226 是哪里来的 现在我们还不知道我们可以发挥想象 可能执行修改栈段都要进栈...
阅读全文 |
评论次数(0) |
浏览次数(131) |
所属类型(汇编作业)
[2012-10-30 17:36] 2.实验任务
(1) 使用DEBUG,将下面的程序写入内存,逐条执行,根据执行后的实验运行情况填空。
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=6022
push ax sp=00FE;修改的内存单元地址是2200:00FE内容为5CCA
push bx sp=00FC,修改的内存单元的是2200:00F...
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=6022
push ax sp=00FE;修改的内存单元地址是2200:00FE内容为5CCA
push bx sp=00FC,修改的内存单元的是2200:00F...
阅读全文 |
评论次数(0) |
浏览次数(132) |
所属类型(汇编作业)