0 / 0 / 0
Регистрация: 18.04.2010
Сообщений: 3
1

Вывод на экран содержимого PSP

18.04.2010, 11:26. Показов 6274. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста с написаем данной программы...в асме не очень разбираюсь...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2010, 11:26
Ответы с готовыми решениями:

Чтение файла и вывод его содержимого на экран
Может у кого есть код на асе: нужно с командной строки ввести имя файла(который заранее создан в...

Вывод содержимого txt файла на экран, com-программа нужна
%define b_length 80 %define stdout 0x0001 section .text org 0x100 mov bp,stdout mov ax,0x3d00...

Вывод на экран содержимого памяти в которой записана информация о HDD
сообственно, необходимо вывести на экран дамп памяти в котором записана информация о HDD: .286...

Открытие файла для чтения и вывод его содержимого на экран
Вообще задача звучит так: Файл содержит сведения о товарах, находящихся на складе: наименование,...

11
9 / 9 / 0
Регистрация: 24.03.2011
Сообщений: 152
21.04.2012, 19:18 2
Ребят, помогите. Мне тоже нужно. Как работать с PSP?
0
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
21.04.2012, 19:25 3
Богдан Корниено, вот описание PSP. Работайте.
Смещ. Длина Содержимое
▀▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
┌───────┐
+0 2 │INT 20H│ EXE-программы могут делать сюда JMP или RET для выхода
├───┴───┤
+2 2 │MemTop │ вершина доступной памяти системы в параграфах
├───┼───┘
+4 1 │ │ (резервируется)
├───┼───────┬───────┐
+5 5 │CALL смещ. сегмент│ FAR CALL к диспетчеру функций DOS
└───┼───┴───┼───┴───┘
+6 │ Avail │ доступные байты в программном сегменте
┌───┴───┼───┼───┐ (только для файла COM)
+0aH 4 │смещ. сегмент│ Адрес завершения. См. INT 22H
├───┴───┼───┴───┤
+0eH 4 │смещ. сегмент│ Адрес обработки Ctrl-Break. См. INT 23H
├───┴───┼───┴───┤
+12H 4 │смещ. сегмент│ Обработчик критич. ошибок. См. INT 24H
├───┴───┴───────┴ ─ ─────┐
+16H 16H │ Резервная область DOS │
├───┴───┼───┴───┴ ─ ─┴───┘
+2cH 2 │EnvSeg │ Сегментный адрес окружения DOS
├───┴───┴──────── ─ ─────┐
+2eH 2eH │ Резервная область DOS │
├───┴───┴───┴───┴ ─ ─┴───┤
+5cH 10H │ форматир. обл. парам.1 │ как в FCB для 1-го параметра команды
├───┴───┴───┴───┴ ─ ─┴───┤
+6cH 14H │ форматир. обл. парам.2 │ как в FCB для 2-го параметра команды
├───┼───┴───┴───┴ ─ ─┴───┘
+80H 1 │len│ длина области UPA (с адреса 81H)
├───┴──────────── ─ ─────┐ также смещение умалчиваемой DTA
+81H 7fH │ неформатир. обл. парам.│ символы из командной строки DOS
└───┴───┴───┴───┴ ─ ─┴───┘ (исключая директивы переназначения)
100H Размер префикса программного сегмента
0
9 / 9 / 0
Регистрация: 24.03.2011
Сообщений: 152
21.04.2012, 19:46 4
А как мне поступить, если мне нужно перебрать 2C сегментный адрес среды для хранения ASCIIZ строк.

И вывести его содержимое на экран. Как мне поступить? Нужен толчек, как работать с адрессами. Никогда не сталкивалася.
0
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
21.04.2012, 20:00 5
Format of environment block:
Код
Offset	Size	Description	
 00h  N BYTEs	first environment variable, ASCIZ string of form "var=value"
      N BYTEs	second environment variable, ASCIZ string
	...
      N BYTEs	last environment variable, ASCIZ string of form "var=value"
	BYTE	00h
---DOS 3.0+ ---
	WORD	number of strings following environment (normally 1)
      N BYTEs	ASCIZ full pathname of program owning this environment
		other strings may follow
0
9 / 9 / 0
Регистрация: 24.03.2011
Сообщений: 152
21.04.2012, 20:27 6
ммм... И как это понимать?
Дайте кто-то пример, как работать с памятью.
0
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
21.04.2012, 20:48 7
Assembler
1
2
3
4
mov ax, cs:[2Ch]
mov ds,ax
xor si,si
; ds:si -> environment variables ASCIZ
0
9 / 9 / 0
Регистрация: 24.03.2011
Сообщений: 152
21.04.2012, 21:37 8
Я наверно Вас достану. А как мне теперь прочитать содержимое этого окружения?
0
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
21.04.2012, 22:07 9
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
    org 100h
start:  mov     ax, word [cs:2Ch]
    mov     ds,ax
    xor     si,si
    mov dx,si
_loop:  call    prfx
    call    cputs
nxt:    inc dx
    cmp byte [si+1],0
    jnz _loop
    lodsw
_l1:    mov cx, ax
        call    cputs
        loop    _l1
        ret
cputs:  lodsb
    or  al,al
    jz  @F
    int 29h
    jmp cputs
@@: ret
prfx:   mov ax, 0D0Ah
    call    cputw
    mov ax, dx
    aam
    xchg    ah, al
    or  ax, '00'
    call    cputw
    mov ax,' :'
cputw:  int 29h
    xchg    ah, al
    int 29h
    ret
Комментов не будет.
0
9 / 9 / 0
Регистрация: 24.03.2011
Сообщений: 152
21.04.2012, 22:25 10
Спасибо за такой обширный пример. Но мне, в силу того, что я новичок сложновато в никнуть в работу этого кода. Может кто даст более простой пример? Плиз))
0
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
22.04.2012, 07:41 11
В Ds:SI переменные окружения.
Assembler
1
2
3
4
5
6
7
8
9
10
mov di,offset buf
mov cx,512
loop1
mov ah,DS:SI
mov [di],ah
inc di
inc si
loop loop1
 
buf db 512 dup (0)
Только и всего.
0
Vadimych
22.04.2012, 07:47     Вывод на экран содержимого PSP
  #12

Не по теме:

programmisto, ну Вы клоун...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2012, 07:47

Создание текстового файла, чтение и вывод его содержимого на экран
Помогите, пожалуйста разобраться. В учебнике нашла пример, программа должна создавать указанный...

Вывод содержимого на экран
Привет всем. Я в асемблере чайник, до этого имел опыт программирования в c++, где проблема вывода...

Вывод содержимого AX на экран
Всем доброго времени суток! Недавно изучаю ассемблер, чёт не могу сообразить, как вывести результат...

Вывод содержимого файла на экран
Здравтвуйте, прошу вашей помощи. Мне вот надо, чтобы скрипт вывел на экран содержимое файла, скажем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru