1. 程式人生 > 其它 >別再糾結執行緒池大小了,沒有固定公式的!終於有人說清楚了。。

別再糾結執行緒池大小了,沒有固定公式的!終於有人說清楚了。。

實驗任務2

1.使用d命令檢視生產時期的截圖

2.使用e命令修改生產時期所在的記憶體單元,修改後再次使用d命令檢視截圖

結論:生產時期所在的記憶體單元並沒有被改變,即e命令不能修改該記憶體單元內容。因為這段記憶體只讀,不能修改。

實驗任務3

1.使用e命令修改記憶體單元命令即截圖

-e b800:0 03 04 03 04 03 04 03 04 03 04

2.使用f命令批量填充記憶體單元的命令及截圖

-f b800:0f00 0f9f 03 04

3.嘗試修改記憶體單元或資料後的效果截圖

修改後使用d命令檢視時要指定起始位置。

實驗任務4

填空:2E,2C,2A,28,2A,2C,2E,30

1.指令mov ss,ax和mov sp,30執行後,棧頂邏輯地址和實體地址分別是?

 答:邏輯地址是20:30,實體地址是00230H

2.單步除錯到push [6]執行結束,pop[6]執行之前,使用d 20:20 2f檢視棧空間資料。

 

3.pop[0]執行結束後,使用d 20:0 7檢視資料空間內的資料是否有變化。

 

4.pop[6]執行結束後,使用d 20:0 7檢視資料空間內的資料是否有變化。

 

實驗任務5

1.指令mov sp,30是什麼時候執行的?

 答:t命令在執行修改暫存器ss的指令時,下一條指令也跟著執行。mov sp,30在下一次使用t命令時執行。

2.觀察單步除錯時,棧空間00220H~0022fH記憶體單元值的變化。

 

 0022AH~0022DH是記憶體空間。

實驗任務6:

1.程式原始碼

assume cd:code

code segment
start:
    mov cx,10
    mov dl,'0'
s:mov ah,2
    int 21h
    add dl,1
    loop s

    mov ah,4ch
    int 21h
code ends
end start

2.給出使用masm,link對程式彙編連線的截圖,以及執行可執行程式task6.exe的執行結果截圖

3.在debug中檢視task6.exe的程式段字首PSP的截圖

實驗任務7

1.給出補全的程式碼。

assume cd:code
code segment
start:
mov ax,cs mov ds,ax mov ax,0020h mov es,ax mov bx,0 mov cx,0017h s:mov al,[bx] mov es:[bx],al inc bx loop s mov ax,4c00h int 21h code ends end start

因為複製line3~line12的程式碼,即從開始複製程式,cs:ip指向第一條程式,所以將cs的值賦給段暫存器ds。除最後兩條指令外,其餘指令長度17h位元組,因此迴圈17h次。

2.使用g命令執行到指定點,使用u命令進行反彙編