[2013-09-03 11:27] 研究实验1~研究实验5
研究实验1
minic文件夹里必须的文件:
tc.exe TCCONFIG.TC C0S.OBJ EMU.LIB MATHS.LIB GRAPHICS.LIB CS.LIB
研究实验2
main貌似可以看成一个汇编里的标号(offset),本人机器上main函数的开始地址为1fa。
研究实验3
(2)
main()
{
*(short far *)(0xb8000000+160*12+80)=0x0200+'a';
}
(3)
全局变量存储在向上生长的空间中,这个空间与局部变量共享一个段。
在一个函数内,局部变量存储在向下生长的空间中,B...
minic文件夹里必须的文件:
tc.exe TCCONFIG.TC C0S.OBJ EMU.LIB MATHS.LIB GRAPHICS.LIB CS.LIB
研究实验2
main貌似可以看成一个汇编里的标号(offset),本人机器上main函数的开始地址为1fa。
研究实验3
(2)
main()
{
*(short far *)(0xb8000000+160*12+80)=0x0200+'a';
}
(3)
全局变量存储在向上生长的空间中,这个空间与局部变量共享一个段。
在一个函数内,局部变量存储在向下生长的空间中,B...
阅读全文 |
评论次数(0) |
浏览次数(550) |
所属类型(汇编作业)
[2013-09-01 11:12] 课程设计2
课程设计2
;这个程序将一堆程序安装到软盘A的起始位置
assume cs:code
code segment
booter:mov ax,7c0h
mov es,ax
mov bx,offset booter_ipcs
jmp dword ptr es:[bx]
booter_loader:mov ah,2
mov al,3
mov ch,0
mov cl,2
mov dh,0
mov dl,0
mov bx,7c0h
mov es,bx
mov bx,offset finallab
int 13h
booter_...
;这个程序将一堆程序安装到软盘A的起始位置
assume cs:code
code segment
booter:mov ax,7c0h
mov es,ax
mov bx,offset booter_ipcs
jmp dword ptr es:[bx]
booter_loader:mov ah,2
mov al,3
mov ch,0
mov cl,2
mov dh,0
mov dl,0
mov bx,7c0h
mov es,bx
mov bx,offset finallab
int 13h
booter_...
阅读全文 |
评论次数(1) |
浏览次数(653) |
所属类型(汇编作业)
[2013-08-31 11:25] 实验17
;测试程序将data段中的数据写入软盘A的0面0道1扇区
assume cs:code
data segment
db 32 dup('practise(theory)')
data ends
code segment
start:mov ax,0
mov es,ax
mov di,200h
mov ax,code
mov ds,ax
mov si,offset softdisk_io
cld
rep movsb
cli
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*...
assume cs:code
data segment
db 32 dup('practise(theory)')
data ends
code segment
start:mov ax,0
mov es,ax
mov di,200h
mov ax,code
mov ds,ax
mov si,offset softdisk_io
cld
rep movsb
cli
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*...
阅读全文 |
评论次数(0) |
浏览次数(435) |
所属类型(汇编作业)
[2013-08-31 11:16] 检测点17.1
检测点17.1
这种说法正确。因为在16h号中断的处理过程中,有可能需要处理9h号中断,而9h号中断为可屏蔽中断,同时在CPU执行int 16h时,IF已经被设为0,所以有必要将IF设为1,以使9h号中断能够发生。...
这种说法正确。因为在16h号中断的处理过程中,有可能需要处理9h号中断,而9h号中断为可屏蔽中断,同时在CPU执行int 16h时,IF已经被设为0,所以有必要将IF设为1,以使9h号中断能够发生。...
阅读全文 |
评论次数(0) |
浏览次数(454) |
所属类型(汇编作业)
[2013-08-29 16:26] 实验16
assume cs:code
code segment
;将中断例程写在前面可以避免一些麻烦
setscreen:jmp short set
table dw sub1,sub2,sub3,sub4
set:push bx
push ax
cmp ah,3
ja sret
mov bl,ah
mov bh,0
add bx,bx
mov bx,table[bx+200h]
add bx,200h
call bx
sret:pop ax
pop bx
iret
sub1:push bx
push...
code segment
;将中断例程写在前面可以避免一些麻烦
setscreen:jmp short set
table dw sub1,sub2,sub3,sub4
set:push bx
push ax
cmp ah,3
ja sret
mov bl,ah
mov bh,0
add bx,bx
mov bx,table[bx+200h]
add bx,200h
call bx
sret:pop ax
pop bx
iret
sub1:push bx
push...
阅读全文 |
评论次数(0) |
浏览次数(451) |
所属类型(汇编作业)
[2013-08-29 16:22] 检测点16.1~检测点16.2
检测点16.1
a[si]
word ptr b[0]
word ptr b[2]
2
检测点16.2
mov ax,data
mov ds,ax
第295页对书中的例子添加错误处理程序:
assume cs:code
code segment
start:mov ax,210
call showsin
mov ax,4c00h
int 21h
showsin:jmp short show
table dw ag0,ag30,ag60,ag90,ag120,ag150,ag180,errmsg
ag0 db '0',0
...
a[si]
word ptr b[0]
word ptr b[2]
2
检测点16.2
mov ax,data
mov ds,ax
第295页对书中的例子添加错误处理程序:
assume cs:code
code segment
start:mov ax,210
call showsin
mov ax,4c00h
int 21h
showsin:jmp short show
table dw ag0,ag30,ag60,ag90,ag120,ag150,ag180,errmsg
ag0 db '0',0
...
阅读全文 |
评论次数(0) |
浏览次数(489) |
所属类型(汇编作业)
[2013-08-28 19:48] 实验15
assume cs:codesg
stack segment
db 128 dup(0)
stack ends
codesg segment
start:mov ax,stack
mov ss,ax
mov sp,128
mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx,offset int9_end-offset int9
cld
rep movsb
push es:[9*4]
pop es:[200h...
stack segment
db 128 dup(0)
stack ends
codesg segment
start:mov ax,stack
mov ss,ax
mov sp,128
mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx,offset int9_end-offset int9
cld
rep movsb
push es:[9*4]
pop es:[200h...
阅读全文 |
评论次数(0) |
浏览次数(446) |
所属类型(汇编作业)
[2013-08-28 19:43] 检测点15.1
检测点15.1
(1)
pushf
call dword ptr ds:[0]
(2)
应该现在修改中断例程起始地址前关中断。
所以在mov word ptr es:[9*4],offset int9前加入语句cli,在mov es:[9*4+2],cs后加入语句sti。...
(1)
pushf
call dword ptr ds:[0]
(2)
应该现在修改中断例程起始地址前关中断。
所以在mov word ptr es:[9*4],offset int9前加入语句cli,在mov es:[9*4+2],cs后加入语句sti。...
阅读全文 |
评论次数(0) |
浏览次数(450) |
所属类型(汇编作业)
[2013-08-27 20:21] 实验14
assume cs:code
code segment
start:mov dl,7
frv:call ShowTime
jmp frv
mov ax,4c00h
int 21h
;功能:显示当前时间
;输入:(dl)表示颜色
ShowTime:push ax
push cx
push bx
push ds
push es
push si
push di
jmp ShowTime_start
ShowTime_loc:db 9,8,7,4,2,0
ShowTime_buf:db "??/??/?? ??:??:?...
code segment
start:mov dl,7
frv:call ShowTime
jmp frv
mov ax,4c00h
int 21h
;功能:显示当前时间
;输入:(dl)表示颜色
ShowTime:push ax
push cx
push bx
push ds
push es
push si
push di
jmp ShowTime_start
ShowTime_loc:db 9,8,7,4,2,0
ShowTime_buf:db "??/??/?? ??:??:?...
阅读全文 |
评论次数(0) |
浏览次数(417) |
所属类型(汇编作业)
[2013-08-27 20:16] 检测点14.1~检测点14.2
检测点14.1
assume cs:code
code segment
start:mov al,2
out 70h,al
in al,71h
;out 71h,0
mov ax,4c00h
int 21h
code ends
end start
检测点14.2
assume cs:code
code segment
start:mov ax,101
call mul10
int 4c00h
int 21h
mul10:push cx
push ax
mov cl,3
shl ax,cl
mov cx,a...
assume cs:code
code segment
start:mov al,2
out 70h,al
in al,71h
;out 71h,0
mov ax,4c00h
int 21h
code ends
end start
检测点14.2
assume cs:code
code segment
start:mov ax,101
call mul10
int 4c00h
int 21h
mul10:push cx
push ax
mov cl,3
shl ax,cl
mov cx,a...
阅读全文 |
评论次数(0) |
浏览次数(401) |
所属类型(汇编作业)
『 查看更多文章 』