![]() |
|
|
![]()
|
|
| Ekaterina90 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 17.5.2010 Репутация: нет Всего: нет |
Задали написать программу калькулятор для обработки 32 битных целых знаковых чисел. Операции только + - и *. Числа вводятся с клавиатуры.
Я не могу сделать перевод чисел в BCD формат из ASCII кода и полученный результат из BCD в ASCII. Помогите пожалуйста. Я вот начала делать и запуталась: TITLE CALC PAGE 60,132 DATASG SEGMENT PARA 'Data' NAMEPAR LABEL WORD MAXLEN DB 20 ACTLEN DB ? NAMEFLD DW 20 DUP (' ') OUTSTR DB 'Out', '$' WORD1A DW ? WORD1B DW ? WORD1 DD ? WORD2A DW ? WORD2B DW ? WORD2 DD ? REZ1A DW ? REZ1B DW ? OPER DB ? DATASG ENDS STACKSG SEGMENT PARA 'Stack' DB 8 DUP(?) STACKSG ENDS CODESG SEGMENT PARA 'Code' BEGIN PROC FAR ASSUME CS:CODESG, DS:DATASG, SS:STACKSG PUSH DS SUB AX,AX PUSH AX MOV AX,DATASG MOV DS,AX CALL CLR CALL VVOD CALL PEREVOD CMP OPER,2BH JE A10 JMP CON A10: CALL SUMMA JMP A20 A20: CALL PEREVOD CALL OBRPEREVOD CALL VYVOD CON: RET BEGIN ENDP PEREVOD PROC NEAR ;????????????????? Перевод введеных чисел в BCD формат SUB AX,AX MOV AX,NAMEFLD XOR AX,3030H SHL AL,04H SHR AX,04H PEREVOD ENDP OBRPEREVOD PROC NEAR ;??????????????????? Перевод результата в ASCII код SUMMA PROC NEAR MOV AX,WORD1B ADD AX,WORD2B DAA MOV REZ1B,AX MOV AX,WORD1A ADC AX,WORD2A DAA MOV REZ1A,AX RET SUMMA ENDP CLR PROC NEAR MOV AX,0600H ;Function prokrutki screen MOV BH,07H ;Color (for ch/b) MOV CX,0000H ;Ot 00,00 MOV DX,184FH ;Do 24,79 INT 10H ;Vyzov BIOS CLR ENDP CURS PROC NEAR MOV AH,02H ;Function ustanovki cursora MOV BH,00H MOV DH,01H MOV DL,01H INT 10H CURS ENDP VVOD PROC NEAR MOV AH,0AH LEA DX,NAMEPAR INT 21H RET VVOD ENDP VYVOD PROC NEAR MOV AH,09 LEA DX,OUTSTR INT 21H RET VYVOD ENDP CODESG ENDS END BEGIN |
|||
|
||||
| iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 5 Всего: 16 |
А зачем переводить в BCD формат из ASCII кода? Числа не такие уж большие, можно обробатывать в ASCII формате.
См. AAA, AAS, AAM, DAA, DAS. -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
| Ekaterina90 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 17.5.2010 Репутация: нет Всего: нет |
ну вот.. так препод сказал
|
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |