Перейти к содержанию

veryme

Пользователи
  • Постов

    23
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные veryme

  1. не знаю пашет или нет) я тож не помню, но гугл говорит, что команда AAM вычисляет распакованный десятичный результат с помощью деления числа в регистре AL на 10. Она помещает частное в регистр AH, оставляя остаток в регистре AL. Команда AAM устанавливает флаги нуля и знака в соответствии с результатом в регистре AL. Так как результат - распакованное десятичное число, знак всегда положителен, а знак нуля устанавливается равным 1, только если исходное число кратно 10 - т.е. если младшая значащая десятичная цифра равна 0. Остальные флаги после команды AAM остаются неопределенными. Флаг переноса теперь не имеет смысла, потому что умножение двух распакованных десятичных чисел никогда не дает результата, превосходящего число, представимое двумя десятичными цифрами. Программа также всегда может использовать команду AAM для деления двоичного числа в регистре AL на 10. В таком виде она может рассматриваться, как специальный случай команды деления, которая делит однобайтовое число в регистре AL на 10. Частное помещается в регистр AH, остаток - в регистр AL.

  2. спасибо =) а можно я немножечко обнаглею и еще 2 лабы выложу....с такой же просьбой....=)

    воть 1я

    .model tiny

    .stack 100h

    .data

    num1 db 45,12,56,72,48,56,90,24,1,19

    .code

    start: mov si, 0

    mov al, offset num1[si]

    inc si

    metka1: mov bl, offset num1[si]

    cmp al, bl

    jns metka

    mov al, bl

    metka: inc si

    cmp si, 9

    js metka1

    aam

    mov dl, ah

    mov dh, al

    or dl, 30h

    or dh, 30h

    mov ah, 02h

    int 21h

    xchg dl, dh

    int 21h

    mov ah, 4ch

    int 21h

    end start

    и 2я

    assume cs:code,ds:data

    data segment

    a db 3 dup(?)

    data ends

    code segment

    program proc far

    mov si,0

    mov dl,0

    METKA: mov ah,1h

    int 21h

    mov offset a[si],al

    mov ah,02h

    mov dl,0ah

    int 21h

    inc si

    cmp si,5

    js METKA

    mov si,0

    xor ax,ax

    mov al,offset a[si]

    inc si

    mov cl,offset a[si]

    add al,cl

    inc si

    mov cl,offset a[si]

    sub al,cl

    inc si

    mov cl,offset a[si]

    mul cl

    inc si

    mov cl,offset a[si]

    div cl

    aam

    mov dl,ah

    mov dh,al

    or dl,30h

    or dh,30h

    mov ah,02h

    int 21h

    xchg dl,dh

    int 21h

    mov ah,4ch

    int 21h

    program endp

    code ends

    end program

    заранее огромное спасибо! =)

  3. Люди, помогите пожалуйста разобраться с лабами по архитектуре ЭВМ... что и как делает эта программа? (каждая строчка) *26

    assume cs:code, ds:data, ss:stacs

    data segment

    msg1 db 50,55 dup('$')

    msg2 db 1,1 dup('$')

    msg3 db 50,55 dup('$')

    msg4 db 50,55 dup('$')

    data ends

    stacs segment

    db 128 dup(?)

    stacs ends

    code segment

    program proc Far

    mov dx,data

    mov ds,dx

    mov ah,0ah

    mov dx,offset msg1

    int 21h

    mov ah,02h

    mov dl,13

    int 21h

    mov dl,10

    int 21h

    mov ah, 0ah

    mov dx,offset msg2

    int 21h

    mov ah,09h

    mov dx,offset msg1

    inc dx

    inc dx

    int 21h

    ;name

    mov ah,02h

    mov dl,13

    int 21h

    mov dl,10

    int 21h

    mov ah,0ah

    mov dx,offset msg3

    int 21h

    mov ah, 09h

    mov dx, offset msg3

    int 21h

    mov ah, 02h

    mov dl, 13

    int 21h

    mov dl, 10

    int 21h

    mov ah, 0ah

    mov dx, offset msg4

    int 21h

    mov ah, 09h

    mov dx, offset msg4

    int 21h

    mov ah,4ch

    int 21h

    program endp

    code ends

    end program

×
×
  • Создать...