马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 小马过河 于 2012-1-16 17:13 编辑
111.rar
(3.43 KB, 下载次数: 0)
assume cs:dmd
sjd segment
db 'Welcome to masm!',0
sjd ends
dmd segment
cxks:mov dh,10
mov dl,10
mov cl,2
mov ax,sjd
mov ds,ax
mov si,0
int 7ch
mov ax,4c00h
int 21h
dmd ends
end cxks
程序2
assume cs:code
code segment
start:mov ax,cs
mov ds,ax ;代码段送给数据段
mov si,offset s ;
mov ax,0
mov es,ax ;将地址0送给附加段
mov di,200h ;将偏移200h送给DI
mov cx,offset ok-offset s ;取得程序的长度 字节长度
cld ;正向传输
rep movsb ;以字节方式传输
mov word ptr es:[7ch*4],200h ;将自己做的程序偏移地址送给7ch 号中中断
mov word ptr es:[7ch*4+2],0 ;将段地址送给7ch号中断
mov ax,4c00h ;b2 d5 00 c0
int 21h
s: mov ax,0
mov al,160 ;将行宽度送给AL
dec dh ;因为从0开始所以减一 ,行数存放在DH中
mul dh ;所要显示的的行数
mov di,ax ;第(bh)行
mov ax,0
mov al,2 ;因为字符显示占用两个字节ascii码和字符属性
dec dl ;因为从0开始所以减一
mul dl ;取得实际列
mov bx,ax ;第(dl)列
mov si,0
mov ax,0b80h
mov es,ax
j: cmp byte ptr [si],0
je ok ;等于0则跳转到OK处
mov al,ds:[si]
mov byte ptr es:[bx+di],al
mov byte ptr es:[bx+di+1],cl
add di,2
inc si
jmp j ;跳转继续执行
iret ;相当于pop ip pop cs pop 标志寄存器
ok:nop
code ends
end start
[/code]我看了半天找不出哪里错了 程序报错大家帮忙看一下 |