Assembly Language를 처음 사용하기 때문에 이미 변수에 경로를 선언하면 폴더를 만들 수 있지만이 경우 입력 한 문자열로 폴더를 만들어야하지만 어떻게해야할지 모르겠다. 해. 나는 문자열을 입력 한 후에 항상 "프로그램 종료"를 얻는다. 여기 내 코드입니다 : 나는 저렴한 요금은 내가 덕분에 훨씬 더 해요, 지금까지 일부 무료 디버거를 다운로드하려고 결코 시간 ... 당 단지 $ 500부터, 나는 당신의 디버거 될 것어셈블리에 입력 문자열이있는 폴더를 만드는 방법은 무엇입니까?
org 100h
jmp start
msg1: db "[C] Create folder", 0ah, 0dh
msg2 db "[X] Exit", 0ah, 0dh
msg3 db "Press the key of your choice: $", 0ah, 0dh
msg4: db "Type the folder name: "
dir1: db "$", 0
start:
mov ax, cs
mov dx, ax
mov es, ax
jmp menu
menu:
mov ax, 03h
int 10h
mov dx, msg1
mov ah, 09h
int 21h
mov ah, 01h
int 21h
cmp al, 43h
je cFold
cmp al, 78h
je exit
cFold:
mov ax, 03h
int 10h
mov dx, msg4
mov ah, 09h
int 21h
mov dx, dir1
mov ah, 0ah
int 21h
mov ah, 39h
int 21h
exit:
mov ah, 4ch
int 21h
ret
적어도 int 21h/0Ah 호출을 잘못 사용하고 있습니다. 설명서를 읽으십시오. 간단히 말해 입력을 읽거나 길이를 알 수있는 저장 공간을 지정하지 않습니다. 예를 들어 http://spike.scu.edu.au/~barry/interrupts.html#ah0a –
을 참조하십시오 다음 번에 어셈블러 사용 및 대상 플랫폼을 지정하십시오. 도스는 'int 21h'로 추측하기 쉽지만, 어셈블러는 masm/tasm/nasm (아마도 nasm 가능성이 높습니다)과 유사하고 경우에 따라 미묘한 차이가 중요하기 때문에 알기가 어렵습니다. – Ped7g