[英]Get Current Directory path or name Assembly 8086
我已經看到了AH = 47h中斷(int 21h),但是我不能使用它。 我的問題是顯示(在屏幕上打印)目錄名稱。 有人可以幫助我嗎? 你有密碼嗎? 謝謝。
到目前為止,我已經嘗試過了,但是這段代碼顯然行不通
.model tiny
.data
handle dw ?
filename db 26 ;MAX NUMBER OF CHARACTERS ALLOWED (25).
db ? ;LENGTH (NUMBER OF CHARACTERS ENTERED BY USER).
db 26 dup(0) ;CHARACTERS ENTERED BY USER. END WITH CHR(13).
msj db 'ENTER FILE NAME HERE: $'
text db 'text for file' ;LENGTH = 13.
.code
org 100h
inizio:
;DISPLAY MESSAGE.
mov dx, offset msj
mov ah, 9
int 21h
;REATE FILE.
mov ah, 47h
mov dl, 03h
mov dx, offset filename
int 21h
;CAPTURED STRING ENDS WITH CHR(13), BUT TO CREATE FILE WE NEED
;THE FILENAME TO END WITH CHR(0), SO LET'S CHANGE IT.
mov si, offset filename + 1 ;NUMBER OF CHARACTERS ENTERED.
mov cl, [ si ] ;MOVE LENGTH TO CL.
mov ch, 0 ;CLEAR CH TO USE CX.
inc cx ;TO REACH CHR(13).
add si, cx ;NOW SI POINTS TO CHR(13).
mov al, 36d
mov [ si ], al ;REPLACE CHR(13) BY 0.
mov ah,9
lea dx,filename ; DISPLAY NAME
int 21h
;END PROGRAM.
mov ah, 4ch
int 21h
end inizio
下一個小程序(用EMU8086制作)僅做兩件事:獲取當前目錄名稱,並顯示它:
.model tiny
.data
directory db 50 dup('$') ;NECESSARY TO DISPLAY ON SCREEN.
.code
;INITIALIZE DATA SEGMENT.
mov ax, @data
mov ds, ax
;GET CURRENT DIRECTORY NAME.
mov ah, 47h
mov dl, 0 ;DRIVE, 0 = CURRENT DRIVE.
mov si, offset directory ;VARIABLE TO STORE DIRECTORY NAME.
int 21h
;DISPLAY DIRECTORY NAME.
mov ah, 9
mov dx, offset directory
int 21h
;WAIT FOR ANY KEY.
mov ah, 7
int 21h
;END PROGRAM.
mov ah, 4ch
int 21h
我擺脫了“ inizio”,因為我們實際上不需要它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.