Size: a a a

Ассемблер

2020 October 04

DR

Dima Richev in Ассемблер
Переслано от Dima Richev
Ну, как-то так:


proc SayM
mov ax, 0
nextch:
mov si, dx
add si, eax
mov di, dx
mov byte al, [edi]
rep movsb
mov byte di, [al]
cmp di, 0x0
je end
inc ax
mov ah, 0x0e
mov al, di
int 0x10
jmp nextch
end:
xor ax, ax
endp

mov dx, [say_casino]
call SayM
mov dx, [say_getstr]
call SayM

mov dx, 0
next_get_ch:
cmp [getnum], 0x0
mov ah, 00h
mov al, [getnum]
int 16h
jmp next_get_ch
xor dx, dx

mov dx, [fail_casino]
call SayM
cli
источник

DR

Dima Richev in Ассемблер
Dima Richev
Переслано от Dima Richev
Ну, как-то так:


proc SayM
mov ax, 0
nextch:
mov si, dx
add si, eax
mov di, dx
mov byte al, [edi]
rep movsb
mov byte di, [al]
cmp di, 0x0
je end
inc ax
mov ah, 0x0e
mov al, di
int 0x10
jmp nextch
end:
xor ax, ax
endp

mov dx, [say_casino]
call SayM
mov dx, [say_getstr]
call SayM

mov dx, 0
next_get_ch:
cmp [getnum], 0x0
mov ah, 00h
mov al, [getnum]
int 16h
jmp next_get_ch
xor dx, dx

mov dx, [fail_casino]
call SayM
cli
Если не учитывать пропуски, именно по синтаксису или по работе программы.
источник

ST

Saenro T in Ассемблер
Dima Richev
Переслано от Dima Richev
Ну, как-то так:


proc SayM
mov ax, 0
nextch:
mov si, dx
add si, eax
mov di, dx
mov byte al, [edi]
rep movsb
mov byte di, [al]
cmp di, 0x0
je end
inc ax
mov ah, 0x0e
mov al, di
int 0x10
jmp nextch
end:
xor ax, ax
endp

mov dx, [say_casino]
call SayM
mov dx, [say_getstr]
call SayM

mov dx, 0
next_get_ch:
cmp [getnum], 0x0
mov ah, 00h
mov al, [getnum]
int 16h
jmp next_get_ch
xor dx, dx

mov dx, [fail_casino]
call SayM
cli
Где ты это взял?
источник

DR

Dima Richev in Ассемблер
Saenro T
Где ты это взял?
Сам писал))
источник

DR

Dima Richev in Ассемблер
По приколу
источник

ST

Saenro T in Ассемблер
Ошибки умышленно внёс?
источник

DR

Dima Richev in Ассемблер
Под рукой нет FASM - кто умеет компилировать в голове - посмотрите)
источник

DR

Dima Richev in Ассемблер
Saenro T
Ошибки умышленно внёс?
Не могу проверить, там они есть?
источник

ST

Saenro T in Ассемблер
Почти везде
источник

DR

Dima Richev in Ассемблер
Да ладно... Не может быть
источник

DR

Dima Richev in Ассемблер
Может в местах некоторых. Код должен быть рабочим.
источник

ST

Saenro T in Ассемблер
Он не то что с ошибками, он даже не полный
источник

DR

Dima Richev in Ассемблер
Saenro T
Он не то что с ошибками, он даже не полный
Да я ж говорю! Тут пропуски. К примеру я не добавил
format binary as "bin"
use16
org     7c00h  

Так же нет в конце
times 510 - ($-$$) db 0
       dw 0xAA55  

И много других пропусков. Я говорю впринципе по синтаксису, по работе программы. Если добаить пропуски - работать будет?
источник

ST

Saenro T in Ассемблер
Saenro T
Он не то что с ошибками, он даже не полный
!
источник

DR

Dima Richev in Ассемблер
Где именно не полный
источник

ST

Saenro T in Ассемблер
1. Есть лишние команды (не нужные);
2. Других не хватает;
3. Есть даже несовместимые;
4. Да и просто ошибок не менее шести.
источник

DR

Dima Richev in Ассемблер
Saenro T
1. Есть лишние команды (не нужные);
2. Других не хватает;
3. Есть даже несовместимые;
4. Да и просто ошибок не менее шести.
Повторяющиеся ошибки? Можно пример одной-две ошибки в коде?
источник

ST

Saenro T in Ассемблер
Dima Richev
Я писал один раз загрузчик под BIOS, был смысл, т.к видел в этом большой потенциал (как минимум, была возможность написать свою ОС, пусть и куча времени, но она была), а вот на DOS не совсем понимал зачем
А он работал?)
источник

DR

Dima Richev in Ассемблер
Saenro T
А он работал?)
Я же говорю, не тестировал. Так, пришлось на быструю руку написать в чат.
источник

ST

Saenro T in Ассемблер
Ну, как-то так:


proc SayM
mov ax, 0
nextch:
mov si, dx
add si, eax
mov di, dx
mov byte al, [edi]
.....
rep movsb
mov byte di, [al]
cmp di, 0x0
je end
inc ax
mov ah, 0x0e
mov al, di
int 0x10
jmp nextch
end:
xor ax, ax
endp

mov dx, [say_casino]
call SayM
mov dx, [say_getstr]
call SayM

mov dx, 0
next_get_ch:
cmp [getnum], 0x0
mov ah, 00h
mov al, [getnum]
int 16h
jmp next_get_ch

xor dx, dx

mov dx, [fail_casino]
call SayM
cli
источник