- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
main:
mov a, P0
dec a
inc a
jnz __div_part
jmp __mul_part
__mul_part:
// mul
mov r0, P1
mov r2, P2
call __Mul
mov P1, r0
mov P2, r1
jmp __end
__div_part:
// div
mov r0, P1
mov r2, P2
call __Div
mov P1, r0
mov P2, r1
jmp __end
__end:
end
Ccik 08.04.2011 19:29 # 0
Ccik 08.04.2011 19:30 # 0
Lennis 08.04.2011 20:58 # +4
inc a
операция подергивания
istem 09.04.2011 00:44 # +1
Lure Of Chaos 09.04.2011 12:01 # +1
RaZeR 09.04.2011 12:06 # −2
push eax, a
push ebx, a
xchg eax, ebx
push a, eax
inc a
Lure Of Chaos 09.04.2011 12:10 # +1
guest 09.04.2011 12:31 # 0
bugmenot 09.04.2011 12:40 # 0
Lure Of Chaos 09.04.2011 13:17 # 0
Vindicar 09.04.2011 15:01 # +3
da4ever 10.04.2011 16:06 # +5
регистры запачканы
неакуратно дергаешь. смотри не оторви.
AxisPod 12.04.2011 07:12 # 0
TarasB 11.04.2011 10:40 # 0
__mul_part:
jmp __end
__end:
Это не выхлоп плохого компилятора?
valik-32 11.04.2011 11:25 # +2
bugmenot 11.04.2011 13:09 # 0
Lure Of Chaos 11.04.2011 23:24 # +1
eth0 11.04.2011 18:43 # 0
assa 14.04.2011 14:39 # 0
А насчет jmp для задержки... давно это было. Очень архитектурнозависимо.:) Выкинет его проц с предсказанием ветвлений, и время нестабильно. Сейчас видел чтение из порта в качестве задержки между командами ввода-вывода в порт. Хотя... Это же контроллер - там можно, так как команды выполняются строго определенное количество тактов. Но это, похоже, не наш случай. А! Для mcs-51 вообще никакого "передергивания" не надо - там же JZ/JNZ проверяет _значение_ аккумулятора на ноль.:)
Так что это imho просто тяп-ляп сваяная лаба - лишь бы работала.