3Listing (1071418), страница 2

Файл №1071418 3Listing (КП - индикатор регистров, 1 вариант) 2 страница3Listing (1071418) страница 22017-12-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

346 03E5 CD 10 int 10h

347 03E7 C3 ret

348 03E8 PUTCH endp

349 ;переход на следующую строку

350 03E8 CRLF proc

351 03E8 33 DB xor bx,bx

352 03EA 32 D2 xor dl,dl

353 03EC FE C6 inc dh

354 03EE B4 02 mov ah,2

355 03F0 CD 10 int 10h

356 03F2 C3 ret

357 03F3 CRLF endp

358 ;данные резидентной части программы

359 03F3 0000 my_ax dw 0

360 03F5 0000 my_bx dw 0

361 03F7 0000 my_cx dw 0

362 03F9 0000 my_dx dw 0

363 03FB 0000 my_si dw 0

364 03FD 0000 my_di dw 0

365 03FF 0000 my_sp dw 0

366 0401 0000 my_bp dw 0

367 0403 0000 my_ds dw 0

368 0405 0000 my_cs dw 0

369 0407 0000 my_es dw 0

370 0409 0000 my_ss dw 0

371 040B 00000000 old_09h dd 0

372 040F 00000000 old_2fh dd 0

373 0413 30 31 32 33 34 35 36+ table1 db '0123456789ABCDEF'

374 37 38 39 41 42 43 44+

375 45 46

376 0423 90 A5 A7 A8 A4 A5 AD+ mesr db 'ђҐ§Ё¤Ґ­в гбЇҐи­® ўлЈа㦥­.'

377 E2 20 E3 E1 AF A5 E8+

378 AD AE 20 A2 EB A3 E0+

379 E3 A6 A5 AD 2E

380 =001A mesrlen=$-mesr

381 ;определение размера резидентной части

382 =033D endres equ $-mainproc

383 ;нерезидентная часть программы, инициализация

384 043D init:

385 ;проверка на ключ выгрузки

386 043D BB 0080 mov bx,80h

387 0440 prob:

388 0440 43 inc bx

389 0441 8A 27 mov ah,byte ptr [bx]

390 0443 80 FC 20 cmp ah,20h

391 0446 74 F8 je prob

392 0448 4B dec bx

393 0449 B9 0004 mov cx,unload_str_len

394 044C BE 055Fr lea si,unload_str

395 044F unload_loop:

396 044F 8A 27 mov ah,byte ptr [bx]

397 0451 3A 24 cmp ah,byte ptr [si]

398 0453 74 09 je m999

399 0455 80 EC 20 sub ah,20h

Turbo Assembler Version 3.1 26/11/04 10:49:21 Page 8

kurs.asm

400 0458 3A 24 cmp ah,byte ptr [si]

401 045A 74 02 je m999

402 045C EB 13 jmp ch_hlp

403 045E m999:

404 045E 43 inc bx

405 045F 46 inc si

406 0460 E2 ED loop unload_loop

407

408 0462 B8 C000 mov ax,0c000h

409 0465 CD 2F int 2fh

410 0467 3C FF cmp al,0FFh

411 0469 75 06 jne ch_hlp

412 ;подать сигнал о выгрузке в резидентную часть

413 046B B8 C001 mov ax,0c001h

414 046E CD 2F int 2fh

415 0470 C3 ret

416 ;проверка на ключ справки

417 0471 ch_hlp:

418 0471 B9 0004 mov cx,help_str_len

419 0474 BB 0081 mov bx,81h

420 0477 BE 055Br mov si,offset help_str

421 047A help_loop:

422 047A 8A 27 mov ah,byte ptr [bx]

423 047C 3A 24 cmp ah,byte ptr [si]

424 047E 75 0F jne not_help

425 0480 43 inc bx

426 0481 46 inc si

427 0482 E2 F6 loop help_loop

428 0484 BA 0563r lea dx,help_mes

429 0487 B9 00CF mov cx,help_mes_len

430 048A E8 01A5 call writeln

431 048D EB 5A jmp quit

432 ;установление обработчика прерывания 2F для проверки повторной загрузки.

433 ;проверка на установку:

434 048F not_help:

435 048F B8 C000 mov ax,0c000h

436 0492 CD 2F int 2fh

437 0494 3C FF cmp al,0FFh

438 0496 74 48 je installed

439 ;получение адреса старого обработчика прерывания 2fh

440 0498 B8 352F mov ax,352fh

441 049B CD 21 int 21h

442 ;сохранение этого значения в переменной old_2fh

443 049D 2E: 89 1E 040Fr mov word ptr old_2fh,BX

444 04A2 2E: 8C 06 0411r mov word ptr old_2fh+2,ES

445 ;установление нового обработчика прерывания 2fh

446 04A7 B8 252F mov ax,252fh

447 04AA BA 017Cr mov dx,offset new_2fh

448 04AD CD 21 int 21h

449 ;получение адреса старого обработчика прерывания 09h

450 04AF B8 3509 mov ax,3509h

451 04B2 CD 21 int 21h

452 ;сохранение этого значения в переменной old_09h

453 04B4 2E: 89 1E 040Br mov word ptr old_09h,BX

454 04B9 2E: 8C 06 040Dr mov word ptr old_09h+2,ES

455 ;установление нового обработчика прерывания 09h

456 04BE B8 2509 mov ax,2509h

Turbo Assembler Version 3.1 26/11/04 10:49:21 Page 9

kurs.asm

457 04C1 BA 0103r mov dx,offset new_09h

458 04C4 CD 21 int 21h

459 ;сообщение о том, что программа загружена

460 04C6 BA 0527r lea dx,str_start

461 04C9 B9 001B mov cx,str_start_len

462 04CC E8 0163 call writeln

463 ;выгрузить, оставив программу резидентной

464 04CF BA 043Dr lea dx,init

465 04D2 D1 EA D1 EA D1 EA D1+ shr dx,4

466 EA

467 04DA 42 inc dx

468 04DB B8 3100 mov ax,3100h

469 04DE CD 21 int 21h

470 ;выход в случае установки.

471 04E0 installed:

472 04E0 BA 0542r lea dx,str_inst

473 04E3 B9 0019 mov cx,str_inst_len

474 04E6 E8 0149 call writeln

475 04E9 B8 4C00 quit: mov AX,4c00h

476 04EC CD 21 int 21h

477 ;данные нерезидентной части программы

478 04EE 82 EB A3 E0 E3 A7 AA+ cant_unload2_msg db '‚лЈаг§Є १Ё¤Ґ­в ­Ґў®§¬®¦­ !$'

479 A0 20 E0 A5 A7 A8 A4+

480 A5 AD E2 A0 20 AD A5+

481 A2 AE A7 AC AE A6 AD+

482 A0 21 24

483 050D 90 A5 A7 A8 A4 A5 AD+ unload_msg db 'ђҐ§Ё¤Ґ­в гбЇҐи­® ўлЈа㦥­.'

484 E2 20 E3 E1 AF A5 E8+

485 AD AE 20 A2 EB A3 E0+

486 E3 A6 A5 AD 2E

487 0527 90 A5 A7 A8 A4 A5 AD+ str_start db 'ђҐ§Ё¤Ґ­в гбЇҐи­® § Їг饭.',13,10

488 E2 20 E3 E1 AF A5 E8+

489 AD AE 20 A7 A0 AF E3+

490 E9 A5 AD 2E 0D 0A

491 =001B str_start_len=$-str_start

492 0542 90 A5 A7 A8 A4 A5 AD+ str_inst db 'ђҐ§Ё¤Ґ­в 㦥 § Їг饭!!!',13,10

493 E2 20 E3 A6 A5 20 A7+

494 A0 AF E3 E9 A5 AD 21+

495 21 21 0D 0A

496 =0019 str_inst_len=$-str_inst

497 055B 20 2F 3F 0D help_str db ' /?',13

498 =0004 help_str_len=$-help_str

499 055F 20 2F 55 0D unload_str db ' /U',13

500 =0004 unload_str_len=$-unload_str

501 0563 84 A0 AD AD A0 EF 20+ help_mes db '„ ­­ п Їа®Ја ¬¬ - १Ё¤Ґ­в, ЇаҐ¤­ §­ 祭­л©' ,13,10

502 AF E0 AE A3 E0 A0 AC+

503 AC A0 20 2D 20 E0 A5+

504 A7 A8 A4 A5 AD E2 2C+

505 20 AF E0 A5 A4 AD A0+

506 A7 AD A0 E7 A5 AD AD+

507 EB A9 0D 0A

508 0591 A4 AB EF 20 A2 EB A2+ db '¤«п ўлў®¤ ўўҐаег нЄа ­ ᮤҐа¦Ё¬®Ј® ॣЁбва®ў Їа®жҐбб®а .',13,10

509 AE A4 A0 20 A2 A2 A5+

510 E0 E5 E3 20 ED AA E0+

511 A0 AD A0 20 E1 AE A4+

512 A5 E0 A6 A8 AC AE A3+

513 AE 20 E0 A5 A3 A8 E1+

Turbo Assembler Version 3.1 26/11/04 10:49:21 Page 10

kurs.asm

514 E2 E0 AE A2 20 AF E0+

515 AE E6 A5 E1 E1 AE E0+

516 A0 2E 0D 0A

517 05CD 82 EB A2 AE A4 20 AE+ db '‚лў®¤ ®бгйҐбвў«пҐвбп б Ї®¬®ймо Є« ўЁиЁ F7.',13,10

518 E1 E3 E9 A5 E1 E2 A2+

519 AB EF A5 E2 E1 EF 20+

520 E1 20 AF AE AC AE E9+

521 EC EE 20 AA AB A0 A2+

522 A8 E8 A8 20 46 37 2E+

523 0D 0A

524 05F9 90 A5 A7 A8 A4 A5 AD+ db 'ђҐ§Ё¤Ґ­в ўлЈаг¦ Ґвбп ЇаЁ Ї®ўв®а­®¬ § ЇгбЄҐ б Є«о箬 /U.',13,10

525 E2 20 A2 EB A3 E0 E3+

526 A6 A0 A5 E2 E1 EF 20+

527 AF E0 A8 20 AF AE A2+

528 E2 AE E0 AD AE AC 20+

529 A7 A0 AF E3 E1 AA A5+

530 20 E1 20 AA AB EE E7+

531 AE AC 20 2F 55 2E 0D+

532 0A

533 =00CF help_mes_len=$-help_mes

534 ;процедура для вывода строки на экран.

535 ;вход : cx - длина сообщения, dx - смещение.

536 0632 writeln proc

537 0632 B4 40 mov ah,40h

538 0634 BB 0001 mov bx,1

539 0637 CD 21 int 21h

540 0639 C3 ret

541 063A writeln endp

542 063A cseg ends

543 end mainproc

Turbo Assembler Version 3.1 26/11/04 10:49:21 Page 11

Symbol Table

Symbol Name Type Value

??DATE Text "26/11/04"

??FILENAME Text "kurs "

??TIME Text "10:49:21"

??VERSION Number 030A

@CPU Text 0101H

@CURSEG Text CSEG

@FILENAME Text KURS

@WORDSIZE Text 2

CANT_UNLOAD2_MSG Byte CSEG:04EE

CH_C000 Near CSEG:0183

CH_HLP Near CSEG:0471

CRLF Near CSEG:03E8

DUMP Near CSEG:0210

ENDI Near CSEG:017B

ENDRES Number 033D

HELP_LOOP Near CSEG:047A

HELP_MES Byte CSEG:0563

HELP_MES_LEN Number 00CF

HELP_STR Byte CSEG:055B

HELP_STR_LEN Number 0004

HOME Near CSEG:0172

HOME1 Near CSEG:01F2

INIT Near CSEG:043D

INSTALLED Near CSEG:04E0

L1 Near CSEG:01C1

M001 Near CSEG:03E5

M999 Near CSEG:045E

MAINPROC Near CSEG:0100

MESR Byte CSEG:0423

MESRLEN Number 001A

MY_AX Word CSEG:03F3

MY_BP Word CSEG:0401

MY_BX Word CSEG:03F5

MY_CS Word CSEG:0405

MY_CX Word CSEG:03F7

MY_DI Word CSEG:03FD

MY_DS Word CSEG:0403

MY_DX Word CSEG:03F9

MY_ES Word CSEG:0407

MY_SI Word CSEG:03FB

MY_SP Word CSEG:03FF

MY_SS Word CSEG:0409

NEW_09H Near CSEG:0103

NEW_2FH Near CSEG:017C

NL Near CSEG:03E1

NOT_HELP Near CSEG:048F

NOT_MY Near CSEG:018B

OLD_09H Dword CSEG:040B

OLD_2FH Dword CSEG:040F

PRINT_REGS Near CSEG:0161

PROB Near CSEG:0440

PUTCH Near CSEG:03CA

QUIT Near CSEG:04E9

QUIT1 Near CSEG:0190

Turbo Assembler Version 3.1 26/11/04 10:49:21 Page 12

Symbol Table

STR_INST Byte CSEG:0542

STR_INST_LEN Number 0019

STR_START Byte CSEG:0527

STR_START_LEN Number 001B

TABLE1 Byte CSEG:0413

TRAN Near CSEG:01F5

UNLOAD_LOOP Near CSEG:044F

UNLOAD_MSG Byte CSEG:050D

UNLOAD_STR Byte CSEG:055F

UNLOAD_STR_LEN Number 0004

WRITELN Near CSEG:0632

Groups & Segments Bit Size Align Combine Class

CSEG 16 063A Para none CODE

Характеристики

Тип файла
Документ
Размер
121,5 Kb
Тип материала
Высшее учебное заведение

Список файлов курсовой работы

КП - индикатор регистров, 1 вариант
Оперативный индикатор регистров микропроцессора
KURS.LST
blkschem.vsd
cpu.vsd
kurs.asm
kurs.com
struct.vsd
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6376
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее