assume cs:codesg
datasg segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends
codesg segment
Begin: mov ax,datasg
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
letterc:
s0: mov ch,0
mov...
- [perryyang] 非常感谢,终于明白了,没有复制前的位移量以机器码的形式被复制到了S处,当读入指令到缓冲器后指针下移到 09/06 18:47
- [nice_future] 说下我的想法吧: 在程序编译到jmp short s1时,转换成的机器码是EBF6,意思是向前移动 09/06 12:53
- [acool] 正确。 内存中的信息被CS:IP指向时是程序,被DS指向时是数据 ------------- 01/25 17:22
- [acool] 不错,分析的都正确。 01/25 17:20
- [acool] 分析正确。 注意别丢了H。 01/25 17:19
- [perryyang] 呵呵,我也是还没入门,我的结论来自于书第6页最后一句,一个CPU有N根地址线,则可以说这个CPU的地 01/25 10:29
- [5331065] “10根导线可以传送10位二进制数据”那1根导线就是可以传送1位二进制数据 “一个CPU有N根地址 01/24 12:28
- [5331065] 我做了检测题1.1除了第一题其他全对,我想了第一题好久都想不清楚为什么是13能麻烦说清楚一点吗? 01/24 12:19
[2010-09-26 22:06] 实验11
阅读全文 |
评论次数(0) |
浏览次数(435) |
所属类型(汇编作业)
[2010-09-12 23:06] 实验10-3
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
mov dh,8
mov dl,3
mov cl,2
call show_str
mov ax,4c00h
int 21h
show_str: ...
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
mov dh,8
mov dl,3
mov cl,2
call show_str
mov ax,4c00h
int 21h
show_str: ...
阅读全文 |
评论次数(0) |
浏览次数(459) |
所属类型(汇编作业)
[2010-09-12 23:04] 实验10-2
assume cs:code
code segment
mov ax,4240h
mov dx,000fh
mov cx,0ah
call divdw
mov ax,4c00h
int 21h
divdw:
push bx ;子程序中需要借用到bx,但不返回值。
push ax ;保留原AX的值,即低16位,即公式中的L,后面要用到。
mov ax,dx ;将高16位的值送...
code segment
mov ax,4240h
mov dx,000fh
mov cx,0ah
call divdw
mov ax,4c00h
int 21h
divdw:
push bx ;子程序中需要借用到bx,但不返回值。
push ax ;保留原AX的值,即低16位,即公式中的L,后面要用到。
mov ax,dx ;将高16位的值送...
阅读全文 |
评论次数(0) |
浏览次数(395) |
所属类型(汇编作业)
[2010-09-12 23:00] 实验10-1
assume cs:code,ds:data
data segment
db 'Welcome to masm!',0
data ends
code segment
start: mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
show_str: mov ax,0
mov...
data segment
db 'Welcome to masm!',0
data ends
code segment
start: mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
show_str: mov ax,0
mov...
阅读全文 |
评论次数(0) |
浏览次数(437) |
所属类型(汇编作业)
[2010-09-05 16:28] 实验8的问题
assume cs:codesg
codesg segment
mov ax,4c00H
int 21H
start: mov ax,0
s: nop
nop
mov di,offset s ;取得S处的偏移地址
mov si,offset s2 ;取得S2处的偏移地址
mov ax,cs:[si]
mov cs:[di],ax ;...
codesg segment
mov ax,4c00H
int 21H
start: mov ax,0
s: nop
nop
mov di,offset s ;取得S处的偏移地址
mov si,offset s2 ;取得S2处的偏移地址
mov ax,cs:[si]
mov cs:[di],ax ;...
阅读全文 |
评论次数(2) |
浏览次数(597) |
所属类型(汇编作业)
[2010-09-05 14:34] 实验9
assume cs:codesg,ds:data
data segment
db 'welcome to masm!'
data ends
codesg segment
start: mov ax,data
mov ds,ax
mov ax,0b8a0h ;让字符在第17行开始显示,此为段起始地址
mov es,ax
mov bx,3ch ;让字符在第30列显示
mov si,0
...
data segment
db 'welcome to masm!'
data ends
codesg segment
start: mov ax,data
mov ds,ax
mov ax,0b8a0h ;让字符在第17行开始显示,此为段起始地址
mov es,ax
mov bx,3ch ;让字符在第30列显示
mov si,0
...
阅读全文 |
评论次数(0) |
浏览次数(826) |
所属类型(汇编作业)
[2010-09-04 20:42] 实验7
assume cs:codesg,ds:data,es:table
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986','1987','1988','1989','1990','1991','1992','1993','1994','1995' ;21年的年份字符串
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,3...
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986','1987','1988','1989','1990','1991','1992','1993','1994','1995' ;21年的年份字符串
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,3...
阅读全文 |
评论次数(0) |
浏览次数(416) |
所属类型(汇编作业)
[2010-01-28 16:34] 第五章实验4.3
将'MOV AX, 4C00H'之前的指令复制倒内存0:200处
ASSUME CS:CODE
CODE SEGMENT
MOV AX, CS ;此处为了获得与代码段相司的段地址。
MOV DS, AX
MOV AX, 0020H
MOV ES, AX
MOV BX, 0
MOV CX, 18H ;字节数由调试得到,总字节为1D,不计程序返回两条指令的5个字节.
S: MOV AL, [BX]
...
ASSUME CS:CODE
CODE SEGMENT
MOV AX, CS ;此处为了获得与代码段相司的段地址。
MOV DS, AX
MOV AX, 0020H
MOV ES, AX
MOV BX, 0
MOV CX, 18H ;字节数由调试得到,总字节为1D,不计程序返回两条指令的5个字节.
S: MOV AL, [BX]
...
阅读全文 |
评论次数(0) |
浏览次数(676) |
所属类型(汇编作业)
[2010-01-23 15:19] 检测点3.2 补作业
1) mov ax,2000
mov ss,ax
mov sp,10 此题用的是入栈方式,可想象栈内有一个字,那么SP的指向应该是2000:000EH,将此想象的字出栈后指向了SP+2即是10.
(2) mov ax,1000
mov ss,ax
mov sp,0 此题用的是出栈方式,应该要预想数据已经与原始数据相同的顺序放在栈段中,也可以说是中间省略了一个反向入栈的过程。那么现在要做的是直接出栈,出栈的详细描述应该是将数据取出放入一个内存单元。更简单直接的理解是10000 - 1000F是一个栈段,数据已入好栈,那么出栈时SP的指向应该是10...
mov ss,ax
mov sp,10 此题用的是入栈方式,可想象栈内有一个字,那么SP的指向应该是2000:000EH,将此想象的字出栈后指向了SP+2即是10.
(2) mov ax,1000
mov ss,ax
mov sp,0 此题用的是出栈方式,应该要预想数据已经与原始数据相同的顺序放在栈段中,也可以说是中间省略了一个反向入栈的过程。那么现在要做的是直接出栈,出栈的详细描述应该是将数据取出放入一个内存单元。更简单直接的理解是10000 - 1000F是一个栈段,数据已入好栈,那么出栈时SP的指向应该是10...
阅读全文 |
评论次数(1) |
浏览次数(662) |
所属类型(汇编作业)
[2010-01-23 11:36] 检测题3.1 补作业
(1)
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=2662 此处是将物理地址DS*10+0000的值送入AX.
mov bx,[0001] bx=e626
mov ax,bx ...
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=2662 此处是将物理地址DS*10+0000的值送入AX.
mov bx,[0001] bx=e626
mov ax,bx ...
阅读全文 |
评论次数(1) |
浏览次数(727) |
所属类型(汇编作业)
『 查看更多文章 』