freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

王爽第3版匯編語言講稿(編輯修改稿)

2025-09-12 02:02 本頁面
 

【文章內(nèi)容簡介】 問題 (續(xù)) ? 我們將 10000H~1000FH 這段空間當(dāng)作棧段, SS=1000H,棧空間大小為16 字節(jié) ,棧最底部的字單元地址為1000:000E。 任意時刻, SS:SP指向棧頂,當(dāng)棧中只有一個元素的時候, SS = 1000H,SP=000EH。 本課件由匯編網(wǎng)( )制作提供 問題 (續(xù)) ? 棧為空,就相當(dāng)于棧中唯一的元素出棧,出棧后, SP=SP+2 , SP 原來為 000EH,加 2 后 SP=10H,所以,當(dāng)棧為空的時候, SS=1000H,SP=10H。 ? 換個角度看 本課件由匯編網(wǎng)( )制作提供 問題 (續(xù)) ? 換個角度看: 任意時刻, SS:SP 指向棧頂元素,當(dāng)棧為空的時候,棧中沒有元素,也就不存在棧頂元素,所以 SS:SP 只能指向棧的最底部單元下面的單元,該單元的偏移地址為棧最底部的字單元的偏移地址+2,棧最底部字單元的地址為1000:000E,所以??諘r, SP=0010H。 本課件由匯編網(wǎng)( )制作提供 pop 指令的執(zhí)行過程 ? pop ax ? ( 1)將 SS:SP指向的內(nèi)存單元處的數(shù)據(jù)送入 ax中; ? ( 2) SP = SP+2, SS:SP指向當(dāng)前棧頂下面的單元,以當(dāng)前棧頂下面的單元為新的棧頂。 ? 圖示 本課件由匯編網(wǎng)( )制作提供 pop 指令的執(zhí)行過程 ? 注意 本課件由匯編網(wǎng)( )制作提供 pop 指令的執(zhí)行過程 ? 注意: ? 出棧后, SS:SP指向新的棧頂 1000EH,pop操作前的棧頂元素, 1000CH 處的2266H 依然存在 ,但是,它已不在棧中。 ? 當(dāng)再次執(zhí)行 push等入棧指令后, SS:SP移至 1000CH,并在里面寫入新的數(shù)據(jù),它將被覆蓋。 本課件由匯編網(wǎng)( )制作提供 棧頂超界的問題 ? SS和 SP只記錄了棧頂?shù)牡刂?,依靠SS和 SP可以保證在入棧和出棧時找到棧頂。 ? 可是,如何能夠保證在入棧、出棧時,棧頂不會超出??臻g? 本課件由匯編網(wǎng)( )制作提供 棧頂超界的問題 ? 當(dāng) 棧滿的時候再使用 push指令入棧 , ??盏臅r候再使用 pop指令出棧 , 都將發(fā)生棧頂超界問題。 ? 棧頂超界是危險的。 本課件由匯編網(wǎng)( )制作提供 棧頂超界的問題 ? 棧頂超界是危險的: 因為我們既然將一段空間安排為棧 ,那么在??臻g之外的空間里很可能存放了具有其他用途的數(shù)據(jù)、代碼等,這些數(shù)據(jù)、代碼可能是我們自己的程序中的,也可能是別的程序中的。 (畢竟一個計算機系統(tǒng)并不是只有我們自己的程序在運行) 本課件由匯編網(wǎng)( )制作提供 棧頂超界的問題 ? 但是由于我們在入棧出棧時的不小心,而將這些數(shù)據(jù)、代碼意外地改寫,將會引發(fā)一連串的錯誤。 ? 我們當(dāng)然希望 CPU 可以幫我們解決這個問題, 本課件由匯編網(wǎng)( )制作提供 棧頂超界的問題 ? 比如說在 CPU中有記錄棧頂上限和下限的寄存器,我們可以通過填寫這些寄存器來指定??臻g的范圍 ,然后 , CPU 在執(zhí)行push指令的時候靠檢測棧頂上限寄存器,在執(zhí)行 pop 指令的時候靠檢測棧頂下限寄存器保證不會超界。 ? 實際情況: 8086CPU中并沒有這樣的寄存器。 本課件由匯編網(wǎng)( )制作提供 棧頂超界的問題 ? 8086CPU不保證對棧的操作不會超界。 這就是說, 8086CPU 只知道棧頂在何處(由 SS:SP指示),而不知道讀者安排的棧空間有多大。這點就好像 , CPU 只知道當(dāng)前要執(zhí)行的指令在何處(由 CS:SP指示)而不知道讀者要執(zhí)行的指令有多少。 ? 從這兩點我們可以 看出 本課件由匯編網(wǎng)( )制作提供 棧頂超界的問題 ? 8086CPU的工作機理,只考慮當(dāng)前的情況: ? 當(dāng)前棧頂在何處; ? 當(dāng)前要執(zhí)行的指令是哪一條。 ? 結(jié)論 本課件由匯編網(wǎng)( )制作提供 棧頂超界的問題 ? 結(jié)論: 我們在編程的時候要自己操心棧頂超界的問題 ,要根據(jù)可能用到的最大??臻g,來安排棧的大小,防止入棧的數(shù)據(jù)太多而導(dǎo)致的超界;執(zhí)行出棧操作的時候也要注意,以防棧空的時候繼續(xù)出棧而導(dǎo)致的超界。 本課件由匯編網(wǎng)( )制作提供 push、 pop指令 ? push和 pop指令是可以在寄存器和內(nèi)存 之間傳送數(shù)據(jù)的。 ? push和 pop指令的格式 本課件由匯編網(wǎng)( )制作提供 push、 pop指令 ? push和 pop指令的格式( 1) ? push 寄存器:將一個寄存器中的數(shù)據(jù)入棧 ? pop寄存器:出棧,用一個寄存器接收出棧的數(shù)據(jù) ? 例如: push ax pop bx 本課件由匯編網(wǎng)( )制作提供 push、 pop指令 ? push和 pop指令的格式( 2) ? push 段寄存器:將一個段寄存器中的數(shù)據(jù)入棧 ? pop段寄存器:出棧,用一個段寄存器接收出棧的數(shù)據(jù) ? 例如: push ds pop es 本課件由匯編網(wǎng)( )制作提供 push、 pop指令 ? push和 pop指令的格式( 3) ? push內(nèi)存單元:將一個內(nèi)存單元處的字入棧(棧操作都是以字為單位) ? pop 內(nèi)存單元:出棧,用一個內(nèi)存字單元接收出棧的數(shù)據(jù) ? 例如: push [0] pop [2] 指令執(zhí)行時 , CPU 要知道內(nèi)存單元的地址,可以在 push、 pop 指令中給出內(nèi)存單元的偏移地址,段地址在指令執(zhí)行時,CPU從 ds中取得。 本課件由匯編網(wǎng)( )制作提供 push、 pop指令 ? 問題 編程: 將 10000H~1000FH 這段空間當(dāng)作棧,初始狀態(tài)是空的,將
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1