Ошибка при компиляции: Operand types do not match - Assembler
Формулировка задачи:
MODEL SMALL STACK 100h DATASEG Question DB 10,13,'Close program? - [Y/N]$' Set_X DB 13,10,'X = $' Result DB 13,10,'Y = $' error_ db "incorrect number$" buff db 6,7 Dup(?) CODESEG start: mov ax,@Data mov ds,ax ; ?????????? ??????? DS ????? ?????, ??? ??? ???????? ?? ??????? ????? mov dx,OFFSET Set_X ; ????????? ?? ????????????-????????? mov ah,09h ; ??????? DOS ?????? ??????? int 21h ;************************************************************************************ ;********* ?????????? ????? ? ?????????? ? ???????????? ???? ? ??????? ???????? ************ ;********????????? ? ???????? AX********* ;************************************************************************************ mov ah,0ah xor di,di mov dx,offset buff ; ?????? ?????? int 21h ; ???????? ??????? mov dl,0ah mov ah,02 int 21h ; ???????? ??????? ??????? ; ?????????? ????? ?????? mov si,offset buff+2 ; ????? ?????? ??????? ??????? cmp byte ptr [si],"-" ; ???? ?????? ?????? ????? jnz ii1 mov di,1 ; ???????????? ?????? inc si ; ? ?????????? ???? ii1: xor ax,ax mov bx,10 ii2: mov cl,[si] ; ????? ?????? ? ?????? cmp cl,0dh ; ??????????? ?? ??? ?? ???????? jz endin ; ???? ?????? ?? ????????, ?? ??????????? ???? ?? ???????????? cmp cl,'0' ; ???? ???????? ???????? ?????? <0 jl er cmp cl,'9' ; ???? ???????? ???????? ?????? >9 ja er sub cl,'0' ; ?????? ? ??????? ????? mul bx ; ???????????? ?? 10 add ax,cx ; ??????? ?? ????? inc si ; ????????? ?? ????????? ?????? jmp ii2 ; ?????????? er: ; ???? ???? ???????, ?? ???????? ???????????? ??? ?? ? ???????? mov dx, offset error_ mov ah,09 int 21h int 20h ; ??? ??????? ? ?????? ????????? ????? ??????????? ? ax endin: cmp di,1 ; ???? ???????????? ?????????, ?? jnz ii3 neg ax ; ????? ????? ????????? ii3: ;************************************************************************************ ;**************** ?????????? ??????? ?????????? ? ????????????? ????? ******************** mov ax, 4 mov bx, Set_x sub ax, bx ;4 - x mov cx, 5 ;(4 - x) / 5 div cx mul bx ; ((4 - x) / 5)^2 mul bx ; ((4 - x) / 5)^3 add ax, 1 ; ((4 - x) / 5)^3 + 1 mov dx,OFFSET Result ; ?????? ?? mov ah,09h ; ??????? DOS ?????? ???????????? int 21h ; ??????? ?????????? ???????????? xchg cx,ax ;************************************************************************************ ;************* ??????? ??????? ???????????? ????? ? ??????? ? ?????? ?? ?? ????? ************ ;************************************************************************************ ; ??????????? ????? ?? ???? test ax, ax jns oi1 ; ???? ???? ???'????, ???????? ????? ? ???????? ???? ??????. mov cx, ax mov ah, 02h mov dl, '-' int 21h mov ax, cx neg ax ; ????????? ???? ?????? ??????? ? CX. oi1: xor cx, cx mov bx, 10 ; ?????? ??. 10 ??? ?????????? ? ?.?. oi2: xor dx,dx div bx ; ?????? ????? ?? ?????? ??. ? ??????? ???????? ??????? ?????. ; ??????? ???????? ?? ???????, ???? ????????? ?? ? ????. push dx inc cx ; ? ? ??????? ?????????? ?? ? ????, ?????????? ??? ????? ??????? ; ????? ??????, ???? ?? ?????????? ????, ?? ???????, ?? ???? ; ????? ???? ????. test ax, ax jnz oi2 ; ????? ?????????? ?? ??????. mov ah, 02h oi3: pop dx ; ?????? ??????? ?????, ?????????? ?? ? ?????? ? ????????. add dl, '0' int 21h ; ????????? ????? ??????? ?????, ??????? ???? ??????????. loop oi3 ;************************************************************************************ ;************ ?????????? ??????? ???????????? ????? ? ??????? ? ?????? ?? ?? ????? *********** ;************************************************************************************ mov dx,OFFSET Question mov ah,09h int 21h mov ah,01h int 21h cmp al,'y' jz closethatshit jmp start closethatshit: mov ah,04ch ; ??????? DOS ?????????? ???????? int 21h ; ????????? ???????? end start
Решение задачи: «Ошибка при компиляции: Operand types do not match»
textual
Листинг программы
mov bx, 0 mov bl, Set_x
Объяснение кода листинга программы
- Переменная
bx
устанавливается равной 0. - Переменная
bl
устанавливается равнойSet_x
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д