|
|
|
Ассемблер
|
|||
|---|---|---|---|
|
#18+
вот код программы на ассемблере TITLE EX_PROG PAGE ,132 STACK SEGMENT PARA STACK "STACK" DB 64 DUP("STACK ") ; Область стека STACK ENDS DSEG SEGMENT PARA PUBLIC "DATA" SOURCE DB 10,20,30,40 ; эта таблица будет скопирована DEST DB 4 DUP(?) ; в эту таблицу в обратном порядке DSEG ENDS SUBTTL ОСНОВНАЯ ПРОГРАММА PAGE CSEG SEGMENT PARA PUBLIC "CODE" ASSUME CS:CSEG, DS:DSEG, SS:STACK OUR_PROG PROC FAR ;занести в стек такие начальные значения, чтобы программа ; могла возвратить управление отладчику PUSH DS ; поместить в стек номер блока адреса возврата SUB AX,AX ; обнулить регистр АХ, тоже можно сделать командой MOV AX,0 PUSH AX ; поместить в стек значение адреса возврата=0 ; инициировать адрес сегмента данных MOV AX,DSEG MOV DS,AX ; присвоить элементам таблицы DEST нулевые начальные значения MOV DEST,0 ; обнуление 1-ого байта MOV DEST+1,0 ; обнуление 2-ого байта MOV DEST+2,0 ; обнуление 3-его байта MOV DEST+3,0 ; обнуление 4-ого байта ; скопировать таблицу SOURCE в таблицу DEST в обратном порядке, в качестве промежуточной ячейки пересылки использовать регистр AL MOV AL, SOURCE MOV DEST+3,AL MOV AL, SOURCE+1 MOV DEST+2,AL MOV AL, SOURCE+2 MOV DEST+1,AL MOV AL, SOURCE+3 MOV DEST,AL RET ; возврат управления отладчику db OUR_PROG ENDP CSEG ENDS END OUR_PROG помогите сделать задание а то я вообще не представляю как делать 5.Внести в программу следующие изменения: задать исходную таблицу SOURCE из 5 двухбайтовых шестнадцатеричных переменных и скопировать эту новую таблицу в DEST. 6. В сегменте данных определить переменные, заполнив их следующими значениями: - 5 байтов A, B, C, D, E; - 5 двухбайтовых слов AA, BB, CC, DD, EE; - 5 двойных слов AAAA, BBBB, CCCC, DDDD, EEEE; 7. Получить исполнимый файл программы с данными пункта 6 и изучить дамп памяти данных с целью уяснения механизма выравнивания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2012, 20:54 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=16&tid=1342403]: |
0ms |
get settings: |
11ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
161ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
20ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 458ms |

| 0 / 0 |
