У меня есть назначение сделать цифровые часы, и для этого требуются номера печати от 0 до 9, аналогичные номерам на семисегментном дисплее. До сих пор я делал номера без макросов. Теперь я пытаюсь сделать горизонтальную линию, используя одну, и я получаю следующую ошибку.Ошибка A2149 при создании строки с использованием макросов на языке ассемблера
код выглядит следующим образом:
Include irvine32.inc
draw_row macro row_start, row_end, col_
movzx al, row_start
mov bl, col_
mov ecx, row_end
L1:
mov dl,al ;column
mov dh,bl ;row
call Gotoxy
mov edx, offset string1
call writestring
inc al
loop L1
endm
;draw_column macro _row, _col
;endm
.data
temp_col1 byte ?
temp_col2 byte ?
temp_row1 byte ?
temp_row2 byte ?
string1 byte "_" , 0
string2 byte "|" , 0
.code
main proc
mov temp_row1, 0
mov temp_row2, 5
mov temp_col1, 0
draw_row temp_row1, temp_row2 , temp_col1
call crlf
call dumpregs
;call clrscr
exit
main endp
end main ;end program`
Этот код должен напечатать ----- Пожалуйста, помогите с ошибками. Я новичок в макросах.
Мы должны использовать макросы. Я был в порядке без них. Спасибо. Оно работает. –