diff --git a/src/components/misc/Markdown.astro b/src/components/misc/Markdown.astro index 68eff8e..b02ee1f 100644 --- a/src/components/misc/Markdown.astro +++ b/src/components/misc/Markdown.astro @@ -31,7 +31,7 @@ const className = Astro.props.class wrapper.className = "relative code-block"; let copyButton = document.createElement("button"); - copyButton.className = "copy-btn btn-regular-dark absolute active:scale-90 h-8 w-8 top-2 right-2 opacity-75 text-sm p-1.5 rounded-lg transition-all ease-in-out"; + copyButton.className = "copy-btn btn-regular-dark absolute active:scale-90 h-8 w-8 top-2 right-2 opacity-75 text-sm p-1.5 rounded-lg transition-all ease-in-out hidden"; codeBlock.setAttribute("tabindex", "0"); if (codeBlock.parentNode) { @@ -43,8 +43,24 @@ const className = Astro.props.class copyButton.innerHTML = `
${copyIcon} ${successIcon}
` + let dataLang = document.createElement("div"); + dataLang.className = "dataLang absolute h-8 w-auto top-0.5 right-2 text-xs text-right p-1.5 rounded-lg transition-all ease-in-out"; + dataLang.innerHTML = ` +
${codeBlock.getAttribute("data-language")}
+ `; + wrapper.appendChild(codeBlock); wrapper.appendChild(copyButton); + wrapper.appendChild(dataLang); + + wrapper.onmouseover = (event) => { + copyButton.style.display = "block"; + dataLang.style.display = "none"; + } + wrapper.onmouseout = (event) => { + copyButton.style.display = "none"; + dataLang.style.display = "block"; + } let timeout: ReturnType; copyButton.addEventListener("click", async () => { @@ -148,6 +164,7 @@ const className = Astro.props.class pre background: var(--codeblock-bg) !important border-radius: 0.75rem + padding-top: 1.25rem padding-left: 1.25rem padding-right: 1.25rem @@ -163,6 +180,9 @@ const className = Astro.props.class span.br::selection background: var(--codeblock-selection) + .dataLang + color: var(--primary) + ul li &::marker diff --git "a/src/content/posts/learn-Assmbly/\343\202\242\343\202\273\343\203\263\343\203\226\343\203\252\350\250\200\350\252\236\343\202\222\345\213\211\345\274\267\343\201\231\343\202\213.md" "b/src/content/posts/learn-Assmbly/\343\202\242\343\202\273\343\203\263\343\203\226\343\203\252\350\250\200\350\252\236\343\202\222\345\213\211\345\274\267\343\201\231\343\202\213.md" index 45a367d..3dfe0c3 100644 --- "a/src/content/posts/learn-Assmbly/\343\202\242\343\202\273\343\203\263\343\203\226\343\203\252\350\250\200\350\252\236\343\202\222\345\213\211\345\274\267\343\201\231\343\202\213.md" +++ "b/src/content/posts/learn-Assmbly/\343\202\242\343\202\273\343\203\263\343\203\226\343\203\252\350\250\200\350\252\236\343\202\222\345\213\211\345\274\267\343\201\231\343\202\213.md" @@ -81,17 +81,18 @@ x64にレジスタは16個ある。一つのレジスタのビット数は64Bit # ptr演算子 アセンブリではメモリサイズを自分で明記しなくてはい。 +```asm +mov [rcx], 5dh ;5dは10進数で93 ``` -mov [rcx], 5dh -``` + そのため、このような記述ではrcxレジスタのどのデータサイズで`5`を格納するのかが分からないためエラーとなる。 -``` +```asm mov eax, 5dh mov [rcx], eax ``` このような記述をする必要がある。 -``` +```asm mov dword ptr[rcx], 5dh ``` ptr演算子を使うことでメモリサイズを指定することが出来る。