|
shedevr.org.ru Группа перевода приставочных игр "ШЕДЕВР"
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пн Июл 10, 2006 3:55 pm Заголовок сообщения: |
|
|
Ura_Orlov писал(а): | HoRRoR писал(а): | Ura_Orlov писал(а): | Код: | A0(1)=val("&H"+Mid$(Hex$(Val("&H"+Hex$(A0(4))+Hex$(A0(3))+Hex$(A0(2))+Hex$(A0(1)))+1),7,2))' Такой вот у меня процесс присваивания A значения A+1 :)
A0(2)=val("&H"+Mid$(Hex$(Val("&H"+Hex$(A0(4))+Hex$(A0(3))+Hex$(A0(2))+Hex$(A0(1)))+1),5,2))
A0(3)=val("&H"+Mid$(Hex$(Val("&H"+Hex$(A0(4))+Hex$(A0(3))+Hex$(A0(2))+Hex$(A0(1)))+1),3,2))
A0(4)=val("&H"+Mid$(Hex$(Val("&H"+Hex$(A0(4))+Hex$(A0(3))+Hex$(A0(2))+Hex$(A0(1)))+1),1,2)) |
Не понимаю зачем нужен этот код. |
А как еще присвоить четырем элементам массива по одному байту из значения? |
Ты имеешь в виду + рядом с командой? Тогда я сейчас напишу код покороче. |
Если ты про (A)+, то он самый.
[edit]
Ura_Orlov писал(а): | Код: | If D4(1)<0 then N=1 else N=0 |
Этот код некорректен. Регистр не пожет быть вида -$00000001, он может быть &FFFFFFFE. |
Мозги остынут - исправлю.
[edit]
Блин, сплошные "[edit]", совсем голова работать перестала |
|
Вернуться к началу |
|
|
IfoR
Зарегистрирован: 16.05.2006 Сообщения: 334
|
Добавлено: Пн Июл 10, 2006 4:50 pm Заголовок сообщения: |
|
|
Вот блок 0 и 1.
Код: | BLOCK0:
Open file1 For Binary As 1
Dim V As Integer
Dim N As Integer
Dim X As Integer
Dim C As Integer
Dim Z As Integer
Dim A0 As Long
Dim A1 As Long
Dim A2 As Long
Dim A3 As Long
Dim A4 As Long
Dim A5 As Long
Dim A6 As Long
Dim A7 As Long
Dim D0 As Long
Dim D1 As Long
Dim D2 As Long
Dim D3 As Long
Dim D4 As Long
Dim D5 As Long
Dim D6 As Long
Dim D7 As Long
Dim dop As Byte
BLOCK1:
Get #1, A0, dop
D3 = Val("&H" & Mid(Hex(D3), 1, 6) & Hex(dop))
A0 = A0 + 1
V = 0
C = 0
If D3 = 0 Then Z = 0
If D3 >= &H80000000 Then N = 0 |
Всё просто. |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пн Июл 10, 2006 4:58 pm Заголовок сообщения: |
|
|
Ura_Orlov писал(а): | Вот блок 0 и 1.
Код: | BLOCK0:
Open file1 For Binary As 1
Dim V As Ineger
Dim N As Ineger
Dim X As Ineger
Dim C As Ineger
Dim Z As Ineger
Dim A0 As Long
Dim A1 As Long
Dim A2 As Long
Dim A3 As Long
Dim A4 As Long
Dim A5 As Long
Dim A6 As Long
Dim A7 As Long
Dim D0 As Long
Dim D1 As Long
Dim D2 As Long
Dim D3 As Long
Dim D4 As Long
Dim D5 As Long
Dim D6 As Long
Dim D7 As Long
Dim dop As Byte
BLOCK1:
Get #1, A0, dop
D3 = Val("&H" & Mid(Hex(D3), 1, 6) & Hex(dop))
A0 = A0 + 1
V = 0
C = 0
If D3 = 0 Then Z = 0
If D3 >= &H80000000 Then N = 0 |
Всё просто. |
Т.е. лучше хранить значения в переменной типа long, а когда надо пользоваться Mid$, Hex$ и Val?
Сейчас начну переписывать код.
Кстати, hex-значения можно писать через Hex() не используя Val? |
|
Вернуться к началу |
|
|
IfoR
Зарегистрирован: 16.05.2006 Сообщения: 334
|
Добавлено: Пн Июл 10, 2006 5:01 pm Заголовок сообщения: |
|
|
HoRRoR писал(а): | Т.е. лучше хранить значения в переменной типа long, а когда надо пользоваться и Val?
Сейчас начну переписывать код. |
Да. Кстати межно писать просто mid, hex
HoRRoR писал(а): | Кстати, hex-значения можно писать через Hex() не используя Val? |
Где ты это увидел?
_________________________
Команда MOVEQ просто пишет Двойное Слово в регистр? |
|
Вернуться к началу |
|
|
IfoR
Зарегистрирован: 16.05.2006 Сообщения: 334
|
Добавлено: Пн Июл 10, 2006 5:10 pm Заголовок сообщения: |
|
|
Ну с блоком 2 всё просто.
|
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пн Июл 10, 2006 5:13 pm Заголовок сообщения: |
|
|
Ura_Orlov писал(а): | Команда MOVEQ просто пишет Двойное Слово в регистр? |
Цитата: | The instruction MOVEQ (MOVE Quick) is used to put small immediate data in
a dataregister. The instruction is two bytes long and can handle constanst
in the range -128 and +127 (decimal). All 32 bits in the register are affected
If you used MOVE.L the instruction would take 6 bytes.
DATALENGTH: Longword
FLAGS: X - U
N - S
Z - S
C - 0
V - 0
SYNTAX: MOVEQ #<data>,Dn
Many assemblers automatically change a MOVE to a MOVEQ if possible. |
Ura_Orlov писал(а): | HoRRoR писал(а): | Кстати, hex-значения можно писать через Hex() не используя Val? | Где ты это увидел? |
Ой, ляпнул не то. Я имел ввиду, hex значение можно хранить не в виде string?
Кстати, чтобы просто перемещать данные из одного регистра в другой, не нужно их "обращать", верно? |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пн Июл 10, 2006 5:20 pm Заголовок сообщения: |
|
|
Ura_Orlov писал(а): | Ну с блоком 2 всё просто.
|
А разве не D4 = &H10000000? |
|
Вернуться к началу |
|
|
IfoR
Зарегистрирован: 16.05.2006 Сообщения: 334
|
Добавлено: Пн Июл 10, 2006 5:29 pm Заголовок сообщения: |
|
|
HoRRoR писал(а): | Цитата: | The instruction MOVEQ (MOVE Quick) is used to put small immediate data in
a dataregister. The instruction is two bytes long and can handle constanst
in the range -128 and +127 (decimal). All 32 bits in the register are affected
If you used MOVE.L the instruction would take 6 bytes.
DATALENGTH: Longword
FLAGS: X - U
N - S
Z - S
C - 0
V - 0
SYNTAX: MOVEQ #<data>,Dn
Many assemblers automatically change a MOVE to a MOVEQ if possible. |
|
Мне это ни о чём не говорит. (с английским плохо)
HoRRoR писал(а): | Ura_Orlov писал(а): | HoRRoR писал(а): | Кстати, hex-значения можно писать через Hex() не используя Val? | Где ты это увидел? |
Ой, ляпнул не то. Я имел ввиду, hex значение можно хранить не в виде string? |
Да. Вобще все значения в BASIC-е хранятся в десятиричном формате.
HoRRoR писал(а): | Кстати, чтобы просто перемещать данные из одного регистра в другой, не нужно их "обращать", верно? |
Во что ''обращать''? |
|
Вернуться к началу |
|
|
IfoR
Зарегистрирован: 16.05.2006 Сообщения: 334
|
Добавлено: Пн Июл 10, 2006 5:31 pm Заголовок сообщения: |
|
|
HoRRoR писал(а): | Ura_Orlov писал(а): | Ну с блоком 2 всё просто.
|
А разве не D4 = &H10000000? |
Почему? |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пн Июл 10, 2006 5:33 pm Заголовок сообщения: |
|
|
Ura_Orlov писал(а): | HoRRoR писал(а): | Ura_Orlov писал(а): | Ну с блоком 2 всё просто.
|
А разве не D4 = &H10000000? |
Почему? |
Так ведь в регистрах вроде бы в обратном порядке байты хранятся.
[edit]
Ошибся, хотел написать D4=&H01000000 |
|
Вернуться к началу |
|
|
IfoR
Зарегистрирован: 16.05.2006 Сообщения: 334
|
Добавлено: Пн Июл 10, 2006 5:34 pm Заголовок сообщения: |
|
|
Код будет обновляться.
Код: | Open file1 For Binary As 1
Dim V As Integer
Dim N As Integer
Dim X As Integer
Dim C As Integer
Dim Z As Integer
Dim A0 As Long
Dim A1 As Long
Dim A2 As Long
Dim A3 As Long
Dim A4 As Long
Dim A5 As Long
Dim A6 As Long
Dim A7 As Long
Dim D0 As Long
Dim D1 As Long
Dim D2 As Long
Dim D3 As Long
Dim D4 As Long
Dim D5 As Long
Dim D6 As Long
Dim D7 As Long
Dim dop As Byte
Dim dop2
BLOCK1:
Get #1, A0, dop
D3 = Val("&H" & Mid(Hex(D3), 1, 6) & Hex(dop))
A0 = A0 + 1
V = 0
C = 0
If D3 = 0 Then Z = 0
If D3 >= &H80000000 Then N = 0
BLOCK2:
D4 = &H1
BLOCK4:
dop2 = D4
dop2 = dop2 - &H1
If dop2 < 0 Then dop2 = &HFFFFFFFF - Abs(dop2)
D4 = dop2 |
BLOCK5:
Get #1, A0, dop
D0 = Val("&H" & Mid(Hex(D0), 1, 6) & Hex(dop))
A0 = A0 + 1
V = 0
C = 0
If D3 = 0 Then Z = 0
If D3 >= &H80000000 Then N = 0
Последний раз редактировалось: IfoR (Пн Июл 10, 2006 5:44 pm), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
IfoR
Зарегистрирован: 16.05.2006 Сообщения: 334
|
Добавлено: Пн Июл 10, 2006 5:36 pm Заголовок сообщения: |
|
|
HoRRoR писал(а): | Ura_Orlov писал(а): | HoRRoR писал(а): | Ura_Orlov писал(а): | Ну с блоком 2 всё просто.
|
А разве не D4 = &H10000000? |
Почему? |
Так ведь в регистрах вроде бы в обратном порядке байты хранятся.
[edit]
Ошибся, хотел написать D4=&H01000000 |
Хм... В обратном порядке хранятся в памяти.
Да. Точно. Только в памяти.
Последний раз редактировалось: IfoR (Пн Июл 10, 2006 5:40 pm), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пн Июл 10, 2006 5:37 pm Заголовок сообщения: |
|
|
Ura_Orlov писал(а): | Хм... В обратном порядке хранятся в памяти. Но возможно. Забыл. |
Сам все время путаюсь |
|
Вернуться к началу |
|
|
Ghost
Зарегистрирован: 24.04.2004 Сообщения: 237
|
Добавлено: Пн Июл 10, 2006 5:42 pm Заголовок сообщения: |
|
|
Ужос какой-то! Переводят асм на бейсик! Я начинаю сходить с ума Вы бы команды получше изучили, да попрактиковались в дебуггере - так легче осваивается... И не возникало бы предложений вроде:
Цитата: | Тут я точно не уверен, Z=1 если либо D0 получится в итоге=0, либо если копируемый байт=0 |
Команды MOVE изменяют флаги ПОСЛЕ выполнения, т.е. для изменения Z копируемый байт должен быть нулевым, хотя в этом случае байт D0 также станет нулевым, но он не обязан быть таким ДО команды MOVE.
Цитата: | Возьмем например команду MOVE.B A0,D3 |
Такой команды нет, т.к. для адресных регистров запрещено побайтное обращение, только .w и .l.
Цитата: | Команда MOVEQ просто пишет Двойное Слово в регистр? |
Хекс-код команды состоит из двух байт: 7YXX, где Y - 2*номер регистра, XX - байт, который копируется в младший байт регистра. В остальные 3 байта (биты 8-31) копируется 7-й бит (т.е. знаковый), это называется sign-extension.
MOVEQ #1,D0; D0=00000001, т.к. байт 01=00000001b имеет 7-й бит 0
MOVEQ #$87,D0; D0=FFFFFF87, т.к. байт 87=10000111b имеет 7-й бит 1 _________________ Мысль - это интеллектуальный эксцесс данного индивидуума. |
|
Вернуться к началу |
|
|
IfoR
Зарегистрирован: 16.05.2006 Сообщения: 334
|
Добавлено: Пн Июл 10, 2006 5:46 pm Заголовок сообщения: |
|
|
Я так и думал, что сейчас кто нибуть вылезет.
Последний раз редактировалось: IfoR (Пн Июл 10, 2006 5:46 pm), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
IfoR
Зарегистрирован: 16.05.2006 Сообщения: 334
|
Добавлено: Пн Июл 10, 2006 5:49 pm Заголовок сообщения: |
|
|
Ghost писал(а): | Вы бы команды получше изучили, да попрактиковались в дебуггере - так легче осваивается... |
А ты думаеш, чем мы тут занимаемся?[/quote] |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пн Июл 10, 2006 5:50 pm Заголовок сообщения: |
|
|
Ghost писал(а): | Ужос какой-то! Переводят асм на бейсик! |
А как по твоему написать анпакер графики получше?
Ghost писал(а): | Вы бы команды получше изучили |
Ты правда думаешь, что за эти два неполных дня я успел выучить асм, и советуешь подучить команды? |
|
Вернуться к началу |
|
|
IfoR
Зарегистрирован: 16.05.2006 Сообщения: 334
|
Добавлено: Пн Июл 10, 2006 6:06 pm Заголовок сообщения: |
|
|
Ghost
Только, что посмотрел твой аватру и сразу её узнал. |
|
Вернуться к началу |
|
|
Nick
Зарегистрирован: 19.11.2005 Сообщения: 445
|
Добавлено: Пн Июл 10, 2006 6:32 pm Заголовок сообщения: |
|
|
Ura_Orlov писал(а): | Ghost
Только, что посмотрел твой аватру и сразу её узнал. |
Я тоже _________________ "With great power comes great responsibility..." |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пн Июл 10, 2006 6:41 pm Заголовок сообщения: |
|
|
Вот исправленный работающий Block3, пока с установкой только V, C и X.
Код: |
BLOCK3: ' WORD
Dim D3 As Long
Dim D4 As Long
D3 = inp2
D4 = inp
'MsgBox D4
Dim CNT As Integer
Dim WRD(1 To 4) As String
Dim bte(1 To 4) As String
Dim NWRD(1 To 4) As String
For CNT = 1 To 4
WRD(CNT) = Mid$(Right$("0000000" + Hex$(D4), 4), CNT, 1)
'MsgBox WRD(CNT)
If WRD(CNT) = "0" Then
bte(CNT) = "0000"
ElseIf WRD(CNT) = "1" Then
bte(CNT) = "0001"
ElseIf WRD(CNT) = "2" Then
bte(CNT) = "0010"
ElseIf WRD(CNT) = "3" Then
bte(CNT) = "0011"
ElseIf WRD(CNT) = "4" Then
bte(CNT) = "0100"
ElseIf WRD(CNT) = "5" Then
bte(CNT) = "0101"
ElseIf WRD(CNT) = "6" Then
bte(CNT) = "0110"
ElseIf WRD(CNT) = "7" Then
bte(CNT) = "0111"
ElseIf WRD(CNT) = "8" Then
bte(CNT) = "1000"
ElseIf WRD(CNT) = "9" Then
bte(CNT) = "1001"
ElseIf WRD(CNT) = "A" Then
bte(CNT) = "1010"
ElseIf WRD(CNT) = "B" Then
bte(CNT) = "1011"
ElseIf WRD(CNT) = "C" Then
bte(CNT) = "1100"
ElseIf WRD(CNT) = "D" Then
bte(CNT) = "1101"
ElseIf WRD(CNT) = "E" Then
bte(CNT) = "1110"
ElseIf WRD(CNT) = "F" Then
bte(CNT) = "1111"
End If
'MsgBox bte(CNT)
Next CNT
NEWWORD = bte(1) + bte(2) + bte(3) + bte(4)
'MsgBox NEWWORD
C = Val(Right$(NEWWORD, 1))
X = C
For CNT = 1 To D3
NEWWORD = Mid$(NEWWORD, 2, 15) & "0"
Next CNT
CNT2 = 1
'MsgBox NEWWORD
For CNT = 1 To 4
NWRD(CNT) = Mid$(NEWWORD, CNT2, 4)
If NWRD(CNT) = "0000" Then
bte(CNT) = "0"
ElseIf NWRD(CNT) = "0001" Then
bte(CNT) = "1"
ElseIf NWRD(CNT) = "0010" Then
bte(CNT) = "2"
ElseIf NWRD(CNT) = "0011" Then
bte(CNT) = "3"
ElseIf NWRD(CNT) = "0100" Then
bte(CNT) = "4"
ElseIf NWRD(CNT) = "0101" Then
bte(CNT) = "5"
ElseIf NWRD(CNT) = "0110" Then
bte(CNT) = "6"
ElseIf NWRD(CNT) = "0111" Then
bte(CNT) = "7"
ElseIf NWRD(CNT) = "1000" Then
bte(CNT) = "8"
ElseIf NWRD(CNT) = "1001" Then
bte(CNT) = "9"
ElseIf NWRD(CNT) = "1010" Then
bte(CNT) = "A"
ElseIf NWRD(CNT) = "1011" Then
bte(CNT) = "B"
ElseIf NWRD(CNT) = "1100" Then
bte(CNT) = "C"
ElseIf NWRD(CNT) = "1101" Then
bte(CNT) = "D"
ElseIf NWRD(CNT) = "1110" Then
bte(CNT) = "E"
ElseIf NWRD(CNT) = "1111" Then
bte(CNT) = "F"
End If
'MsgBox bte(CNT)
CNT2 = CNT2 + 4
Next CNT
D4 = Val("&H" + Left$(Hex$(D4), 4) + bte(1) + bte(2) + bte(3) + bte(4))
'MsgBox Hex(D4)
V = 0 |
Prince Nick писал(а): | Ura_Orlov писал(а): | Ghost
Только, что посмотрел твой аватру и сразу её узнал. |
Я тоже |
Вы о чем? |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Пн Июл 10, 2006 7:31 pm Заголовок сообщения: |
|
|
Ghost писал(а): | Цитата: | Тут я точно не уверен, Z=1 если либо D0 получится в итоге=0, либо если копируемый байт=0 |
Команды MOVE изменяют флаги ПОСЛЕ выполнения, т.е. для изменения Z копируемый байт должен быть нулевым, хотя в этом случае байт D0 также станет нулевым, но он не обязан быть таким ДО команды MOVE. |
Запутал ты этой фразой и меня. Z описывает следствие, а не причину. Неважно, каким был копируемый байт, но если в результате операции D0 стал нулём, то Z=1. |
|
Вернуться к началу |
|
|
GrayLightTaliz
Зарегистрирован: 13.10.2005 Сообщения: 204 Откуда: Краснодар/Королёв
|
Добавлено: Пн Июл 10, 2006 7:58 pm Заголовок сообщения: |
|
|
Вот, продебагил на Gens'е код, который должен все пояснить:
move.l #$88888888,d0 ( d0=88888888, Z=0 )
move.b #$AA,d0 ( d0=888888AA, Z=0 )
move.b #$00,d0 ( d0=88888800, Z=1 (хоть d0 не =0) )
move.l #$000000BB,d0 ( d0=000000BB, Z=0 )
move.b #$AA,d0 ( d0=000000AA, Z=0 )
move.b #$00,d0 ( d0=00000000, Z=1 )
значит все-таки согласно перемещаемым данным выставляется Z.
Просто в M68000 Reference были противоречивые данные в описании операции MOVE (я выделю важные слова):
С одной стороны: Description: Moves the data at the source to the destination location and sets the condition
codes according to the data.
С другой стороны там же, ниже: Z — Set if the result is zero; cleared otherwise. <- Здесь уже неправда.. |
|
Вернуться к началу |
|
|
Ghost
Зарегистрирован: 24.04.2004 Сообщения: 237
|
Добавлено: Пн Июл 10, 2006 9:07 pm Заголовок сообщения: |
|
|
2 Ura_Orlov: свою аватару я сам узнаю А что с подписью?
2 Анс и GrayLight: в мануале написано правильно... и да, я объяснил несколько путанно. ...Вот эта фраза: "Z — Set if the result is zero; cleared otherwise." "Противоречие" возникает из-за неправильного её понимания. Результатом любой подобной команды (move, lsr, or, add и т.д.) считается соответствующая часть операнда (.b, .w, .l), старшая часть не учитывается. В данном примере (move.b ??,d0) я сказал, что "для изменения Z копируемый байт должен быть нулевым, хотя в этом случае байт D0 также станет нулевым" (не надо было писать "хотя"), что значит, что результат операции - младший байт D0 - будет нулевым, я просто указал причину, а не следствие.
Ura_Orlov писал(а): | Я так и думал, что сейчас кто нибуть вылезет. |
Посмотри дату моей регистрации и число сообщений. Как видишь, я нечасто вылезаю, так что можно меня потерпеть? _________________ Мысль - это интеллектуальный эксцесс данного индивидуума. |
|
Вернуться к началу |
|
|
Amorpho[US] БесФорменный
Зарегистрирован: 16.12.2003 Сообщения: 161 Откуда: Воронеж
|
Добавлено: Пн Июл 10, 2006 9:36 pm Заголовок сообщения: |
|
|
Аватарка - красный крест? Или это только я ее не вижу? _________________ Я вернулся!!! ...ну почти. |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Пн Июл 10, 2006 9:52 pm Заголовок сообщения: |
|
|
GrayLight писал(а): | Вот, продебагил на Gens'е код, который должен все пояснить:
move.l #$88888888,d0 ( d0=88888888, Z=0 )
move.b #$AA,d0 ( d0=888888AA, Z=0 )
move.b #$00,d0 ( d0=88888800, Z=1 (хоть d0 не =0) )
move.l #$000000BB,d0 ( d0=000000BB, Z=0 )
move.b #$AA,d0 ( d0=000000AA, Z=0 )
move.b #$00,d0 ( d0=00000000, Z=1 )
значит все-таки согласно перемещаемым данным выставляется Z.
Просто в M68000 Reference были противоречивые данные в описании операции MOVE (я выделю важные слова):
С одной стороны: Description: Moves the data at the source to the destination location and sets the condition
codes according to the data.
С другой стороны там же, ниже: Z — Set if the result is zero; cleared otherwise. <- Здесь уже неправда.. |
Нет, там всё правда. Почитай теорию по машинному коду, на практике иногда можно не учесть существенные мелочи. MOVE.B выставляет Z по содержимому младшего байта D0, фактически, в данный момент этот регистр становится 8-битным. |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|