.model small
.stack
.data
msg1 db "Enter string max of 9 characters: $"
msg2 db 13,10, "Enter a number: $"
msg3 db 13,10, "Midstring: $"
strNine db "$"
num db 0,"$"
mid db "$"
varName label byte
maxL db 10
actL db 0
actCont db 10 dup("?")
.code
mov ax,@data
mov ds,ax
;-------------------- Input String ---------------------
mov ah,9
lea dx,msg1
int 21h
mov ah,0ah
int 21h
mov strNine,al
mov bh,strNine
;-------------------- Number ---------------------
mov ah,9
lea dx,msg2
int 21h
mov ah,1
int 21h
mov num,al
mov bl,num
;-------------------- Midstring ---------------------
mov ah,9
lea dx,msg3
int 21h
mov ah,4ch
int 21h
END
Мне нужно найти среднюю строку, и я застрял, так как я новичок в языке Assembly.Язык ассемблера: Завершение программы, чтобы получить среднюю строку
Ожидаемое поведение:
Enter max of 9 String: helloword
Enter a number: 3
Midstring: lloword
Ведущего пространство, то ч е должны быть удалены из-за вводом номера пользователя.
только Части я получил, чтобы получить входной сигнал от пользователя, который является строкой и число, которое я сохранил в памяти BX, который используется для индексации
мне просто нужно некоторые советы/руководства от вас, ребята, чтобы закончить программу.
SO не подходит для поиска инструкций, но http://stackoverflow.com/tags/x86/info имеет много ссылок на документы и руководства. tip: проверьте документы для системных вызовов, которые вы используете. Довольно точно, что для функции чтения DOS требуется указатель на буфер. Я сомневаюсь, что ваша текущая программа может даже распечатать всю строку. Трейлинг-подстроки тривиальны в строках, заканчивающихся специальным символом: просто передайте указатель на начальную точку, и он все еще заканчивается на том же месте. –
@PeterCordes Спасибо. Извините, чтобы узнать о советах и руководствах. Im действительно действительно путают прямо сейчас о том, как использовать регистры и шестнадцатеричные коды. –
Если вы имеете в виду системные вызовы ah = code DOS, проверьте список прерываний DOS для документов, какие системные вызовы что-то делают. Проблема с серединой строки - это просто указатель математики. –