[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, ... 6, 7, 8, 9, 10, ... 15, 16, 17
Автор Сообщение
Александр Матарас

Темы: 0
Сообщений: 25

Мой профиль
Экзамен\Контроль практики\Программирование\10\Контрольный срез \Ассемблер\1 - "Задача №1" 5593 Илясов Артем
a=-11,b=3,c=7,d=-4
тк a*d>=0 то
Res=b-(c+a/d)*b = 3-(7+(-11)/(-4))*3= 3-(7+3)*3=3-10*3=3-30=-27
A в тестах:
a hex[2]: 0FFF5
b dec[2]: 3
c dec: 7
d hex: FC
res hex[2]: 0FFE8

Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
И что именно тебя не устраивает в этих тестах?
Ты в курсе как представляются отрицательные числа в дополнительном коде в 16-ричной системе счисления?
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль


Игорь Коршунов:


Степан Санько:

Прошло с решением :
... 

Вместо
MOV AL,z
CWD

для беззнаковых можно писать
MOV AL, z
MOV AH, 0

 
Хочу также указать на ошибку Степана Санько
команда CWD распространяет знак из AX в DX
А он загрузил свою переменную в AL.
Знак величины в AX определяется старшим битом регистра AH, который "имеет случайное значение".
Правильно писать
MOV AL,z
CBW
то есть распространять знак из AL в AX.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Александр Матарас:

Экзамен\Контроль практики\Программирование\10\Контрольный срез \Ассемблер\1 - "Задача №1" 5593 Илясов Артем
a=-11,b=3,c=7,d=-4
тк a*d>=0 то
Res=b-(c+a/d)*b = 3-(7+(-11)/(-4))*3= 3-(7+3)*3=3-10*3=3-30=-27
A в тестах:
a hex[2]: 0FFF5
b dec[2]: 3
c dec: 7
d hex: FC
res hex[2]: 0FFE8

 

-11/-4 = 2
Иван Огнев

Темы: 0
Сообщений: 11

Мой профиль
Экзамен\Индивидуальные задания\Сконвертированные задания на программирование по схеме\Вычислить выражение\3 - "Программа по схеме 84371" 84371 TaskConverter 2009 Март 22
Собственно не очень понятно, а каково значение константы?
Таня Горбачевская

Темы: 0
Сообщений: 10

Мой профиль
Обучение\Контрольные срезы - Самоподготовка\Проектирование\Сам-п5 - "Задача №5" 31435

;[test 2]
set 0FFFA,16 on a at 3200
set 0FFFC,16 on b at 3200
set 2,10 on c at 3200
set FF,16 on d at 3200
Diff 0FFFE,16 on res at 6000

Здесь ответ должен быть 0FFFF=-1,т.к. a=0FFFA=-6,b=0FFFC=-4,c=2,d=FF=-1
d<0 значит идем по второй ветви:
|6-4|*(-1)/2+sign(-48)=2*0+(-1)=-1,а в ответе 0FFFE=-2
Мария Гриневич

Темы: 0
Сообщений: 17

Мой профиль
Зачет\Контроль практики\Программирование\8\3 - "Выражение плюс" 41442 Чухланцева Вера, ПОИТ-12, апрель 2006
Не прошёл секретный тест

jmp	begin
a	dw	2
b	db	1
c	db	4
d	db	2
res	dw	9
begin:
	mov	ax,a
	mov	bl,b
	cbw
	idiv	bx
	mov	cx,ax
	mov	al,c
	imul	d
	add	cx,ax
	sub	cx,a
	mov	al,b
	cbw
	add	cx,ax
	mov	res,cx
ends:	jmp	ends	;$E 

Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
Report = report.txt
StopOnError = true
Statistics = false
WatchReport = false
ShowReport = false

[1]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


a dec[2]: 2
b dec: 1
c dec: 4
d dec: 2

res dec[2]: 9

[2]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


a dec[2]: 1
b dec: 2
c dec: 4
d dec: 1

res dec[2]: 5

[3]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


a dec[2]: 3
b dec: 1
c dec: 2
d dec: 1

res dec[2]: 3

Дмитрий Савицкий

Темы: 0
Сообщений: 25

Мой профиль
Исправьте названия выходных контактов в таблице на out1 и out2

Задача:
Экзамен\Контроль практики\9\8 - "Двухбалльная система (программа)" 98500 TaskConverter HLCCADtoASM 2010 Апрель 03
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Дмитрий Савицкий:

Исправьте названия выходных контактов в таблице на out1 и out2

Задача:
Экзамен\Контроль практики\9\8 - "Двухбалльная система (программа)" 98500 TaskConverter HLCCADtoASM 2010 Апрель 03 

Исправлено.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Мария Гриневич:

Зачет\Контроль практики\Программирование\8\3 - "Выражение плюс" 41442 Чухланцева Вера, ПОИТ-12, апрель 2006
Не прошёл секретный тест

jmp	begin
a	dw	2
b	db	1
c	db	4
d	db	2
res	dw	9
begin:
	mov	ax,a
	mov	bl,b
	cbw
	idiv	bx
	mov	cx,ax
	mov	al,c
	imul	d
	add	cx,ax
	sub	cx,a
	mov	al,b
	cbw
	add	cx,ax
	mov	res,cx
ends:	jmp	ends	;$E 
 


Ошибка:
mov bl,b
cbw

Команда cbw распростаняет знак AL до AX, а не BL до BX.
Максим Пузиков

Темы: 0
Сообщений: 31

Мой профиль
Зачет\Контроль практики\Программирование\8\5 - "XYZ" 42390 Роговцов Сергей, ПОИТ-26, апрель 2006



секретный тест не прошел

jmp begin
x dw 0
y dw 0
z dw 0
begin:
mov ax,x
imul y
cmp ax,5
jg met1
je met2

mov bx,ax
mov al,2
cbw
imul bx
mov bx,ax
mov al,6
cbw
imul x
add ax,bx
mov z,ax
jmp met3

met1:
mov al,2
cwd
imul y
mov bx,ax
mov al,3
cbw
imul x
add ax,bx
mov bx,ax
mov al,4
cbw
add ax,bx
mov z,ax
jmp met3

met2:
mov ax,x
add ax,y
imul ax
mov bx,ax
mov al,2
cbw
imul bx
mov z,ax
met3:
halt:
jmp halt; $E
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Максим Пузиков:

Зачет\Контроль практики\Программирование\8\5 - "XYZ" 42390 Роговцов Сергей, ПОИТ-26, апрель 2006



секретный тест не прошел

jmp begin
x dw 0
y dw 0
z dw 0
begin:
mov ax,x
imul y
cmp ax,5
jg met1
je met2

mov bx,ax
mov al,2
cbw
imul bx
mov bx,ax
mov al,6
cbw
imul x
add ax,bx
mov z,ax
jmp met3

met1:
mov al,2
cwd
imul y
mov bx,ax
mov al,3
cbw
imul x
add ax,bx
mov bx,ax
mov al,4
cbw
add ax,bx
mov z,ax
jmp met3

met2:
mov ax,x
add ax,y
imul ax
mov bx,ax
mov al,2
cbw
imul bx
mov z,ax
met3:
halt:
jmp halt; $E 

Основной тест дополнен.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Мария Гриневич:

Зачет\Контроль практики\Программирование\8\3 - "Выражение плюс" 41442 Чухланцева Вера, ПОИТ-12, апрель 2006
Не прошёл секретный тест

jmp	begin
a	dw	2
b	db	1
c	db	4
d	db	2
res	dw	9
begin:
	mov	ax,a
	mov	bl,b
	cbw
	idiv	bx
	mov	cx,ax
	mov	al,c
	imul	d
	add	cx,ax
	sub	cx,a
	mov	al,b
	cbw
	add	cx,ax
	mov	res,cx
ends:	jmp	ends	;$E 
 

Основной тест дополнен.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Таня Горбачевская:

Обучение\Контрольные срезы - Самоподготовка\Проектирование\Сам-п5 - "Задача №5" 31435

;[test 2]
set 0FFFA,16 on a at 3200
set 0FFFC,16 on b at 3200
set 2,10 on c at 3200
set FF,16 on d at 3200
Diff 0FFFE,16 on res at 6000

Здесь ответ должен быть 0FFFF=-1,т.к. a=0FFFA=-6,b=0FFFC=-4,c=2,d=FF=-1
d<0 значит идем по второй ветви:
|6-4|*(-1)/2+sign(-48)=2*0+(-1)=-1,а в ответе 0FFFE=-2
 

Умножение и деление выполняются слева направо:
|6-4|*(-1)/2 = 2*(-1)/2 = -2/2 = -1.
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, ... 6, 7, 8, 9, 10, ... 15, 16, 17
Time:0,047