- [zaixuexi] 我以为是a0=0,a1=1,没仔细看 02/12 09:23
- [yang5731] 不对吧 我的结果应该是对的 N=9时 确实得217 你自己算算。你帮我看看论坛 算法上的程序吧 题 02/11 23:49
- [zaixuexi] 递归不是这么写的哦,我想你肯定没调试过自己写的这代码. 先看C代码吧: unsigned int 02/11 22:58
- [游客] <a href="http://www.playren.com/">整人方法</a> 12/15 17:11
- [wisji8] mov ax,0a0h mul dh mov bx,ax mov ax,2 mul 10/03 16:56
- [yang5731] 谢谢了 课程设计一做出来了 确实不能调用着个····· 08/25 02:50
- [mywiil] 课程设计一要用到这个子程序,这里暂不做评论。 赶紧完成课程设计一吧。 08/21 03:33
[2011-03-17 15:59] 使用命令行参数读文本文件
;使用命令行参数读文本文件1-4.exe 1-4.asm
assume cs:code
data segment
fname1 db 128 dup (?)
error db 'File not found!','$'
error1 db 'Reading error','$'
buffer db 512 dup (?)
data ends
code segment
start: push es
pop ds
cld ;清方向标志符DF,即正方向
mov si,80h ;PSP段的偏移80h处含参数长度(字节数),81h处开始存放参数
lodsb
mov cl,al
xor ch,ch ;CX含命令行参数个数
mov ax,data
mov es,ax
mov di,offset fname1
s: lodsb
cmp al,20h
jz s
dec si
rep movsb
mov BYTE ptr es:[di-1],0 ;参数传递完毕,补0形成字符串
push es
pop ds
mov dx,offset fname1
mov ax,3d00h ;只读方式打开
int 21h
jnc open_ok ;CF=0,打开成功
mov si,offset error
call dmess
jmp over
open_ok:mov bx,ax ;保存句柄
cont: call ready
jc err1
call putch ;显示
cmp cx,512
jb clos
jmp cont
err1: mov si,offset error1
call dmess
clos: mov ah,3eh ;关闭文件
int 21h
over: mov ax,4c00h
int 21h
ready: mov cx,512 ;读的字节数
mov dx,offset buffer ;ds:dx指向缓冲区首地址
mov ah,3fh ;读
int 21h
jc read1 ;cf=1读出错,转
mov cx,ax
clc
read1: ret
putch: push dx
push cx
mov cx,ax
mov si,offset buffer
s1: lodsb
mov dl,al
mov ah,2
int 21h
loop s1
pop cx
pop dx
ret
dmess: push dx
mov dx,si
mov ah,9
int 21h
pop dx
ret
mov ax,4c00h
int 21h
code ends
end start
assume cs:code
data segment
fname1 db 128 dup (?)
error db 'File not found!','$'
error1 db 'Reading error','$'
buffer db 512 dup (?)
data ends
code segment
start: push es
pop ds
cld ;清方向标志符DF,即正方向
mov si,80h ;PSP段的偏移80h处含参数长度(字节数),81h处开始存放参数
lodsb
mov cl,al
xor ch,ch ;CX含命令行参数个数
mov ax,data
mov es,ax
mov di,offset fname1
s: lodsb
cmp al,20h
jz s
dec si
rep movsb
mov BYTE ptr es:[di-1],0 ;参数传递完毕,补0形成字符串
push es
pop ds
mov dx,offset fname1
mov ax,3d00h ;只读方式打开
int 21h
jnc open_ok ;CF=0,打开成功
mov si,offset error
call dmess
jmp over
open_ok:mov bx,ax ;保存句柄
cont: call ready
jc err1
call putch ;显示
cmp cx,512
jb clos
jmp cont
err1: mov si,offset error1
call dmess
clos: mov ah,3eh ;关闭文件
int 21h
over: mov ax,4c00h
int 21h
ready: mov cx,512 ;读的字节数
mov dx,offset buffer ;ds:dx指向缓冲区首地址
mov ah,3fh ;读
int 21h
jc read1 ;cf=1读出错,转
mov cx,ax
clc
read1: ret
putch: push dx
push cx
mov cx,ax
mov si,offset buffer
s1: lodsb
mov dl,al
mov ah,2
int 21h
loop s1
pop cx
pop dx
ret
dmess: push dx
mov dx,si
mov ah,9
int 21h
pop dx
ret
mov ax,4c00h
int 21h
code ends
end start
评论次数(0) |
浏览次数(900) |
类型(章节要点) |
收藏此文 |